diff --git a/categories/128/applications-internet.svg b/categories/128/applications-internet.svg
deleted file mode 120000
index a6b406092..000000000
--- a/categories/128/applications-internet.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-online-accounts.svg
\ No newline at end of file
diff --git a/categories/128/applications-internet.svg b/categories/128/applications-internet.svg
new file mode 100644
index 000000000..060d0b525
--- /dev/null
+++ b/categories/128/applications-internet.svg
@@ -0,0 +1,248 @@
+
+
diff --git a/categories/128/preferences-desktop-online-accounts.svg b/categories/128/preferences-desktop-online-accounts.svg
deleted file mode 100644
index 060d0b525..000000000
--- a/categories/128/preferences-desktop-online-accounts.svg
+++ /dev/null
@@ -1,248 +0,0 @@
-
-
diff --git a/categories/16/applications-internet.svg b/categories/16/applications-internet.svg
deleted file mode 120000
index a6b406092..000000000
--- a/categories/16/applications-internet.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-online-accounts.svg
\ No newline at end of file
diff --git a/categories/16/applications-internet.svg b/categories/16/applications-internet.svg
new file mode 100644
index 000000000..45c5433c1
--- /dev/null
+++ b/categories/16/applications-internet.svg
@@ -0,0 +1,147 @@
+
+
diff --git a/categories/16/config-language.svg b/categories/16/config-language.svg
deleted file mode 120000
index c0bcf8bca..000000000
--- a/categories/16/config-language.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-locale.svg
\ No newline at end of file
diff --git a/categories/16/gnome-power-manager.svg b/categories/16/gnome-power-manager.svg
deleted file mode 120000
index e7a4d9f1f..000000000
--- a/categories/16/gnome-power-manager.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-system-power.svg
\ No newline at end of file
diff --git a/categories/16/preferences-desktop-sound.svg b/categories/16/multimedia-volume-control.svg
similarity index 100%
rename from categories/16/preferences-desktop-sound.svg
rename to categories/16/multimedia-volume-control.svg
diff --git a/categories/16/preferences-desktop-online-accounts.svg b/categories/16/preferences-desktop-online-accounts.svg
deleted file mode 100644
index 45c5433c1..000000000
--- a/categories/16/preferences-desktop-online-accounts.svg
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
diff --git a/categories/24/applications-internet.svg b/categories/24/applications-internet.svg
deleted file mode 120000
index a6b406092..000000000
--- a/categories/24/applications-internet.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-online-accounts.svg
\ No newline at end of file
diff --git a/categories/24/applications-internet.svg b/categories/24/applications-internet.svg
new file mode 100644
index 000000000..973d454c6
--- /dev/null
+++ b/categories/24/applications-internet.svg
@@ -0,0 +1,241 @@
+
+
diff --git a/categories/24/config-language.svg b/categories/24/config-language.svg
deleted file mode 120000
index c0bcf8bca..000000000
--- a/categories/24/config-language.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-locale.svg
\ No newline at end of file
diff --git a/categories/24/gnome-power-manager.svg b/categories/24/gnome-power-manager.svg
deleted file mode 120000
index e7a4d9f1f..000000000
--- a/categories/24/gnome-power-manager.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-system-power.svg
\ No newline at end of file
diff --git a/categories/24/preferences-desktop-sound.svg b/categories/24/multimedia-volume-control.svg
similarity index 100%
rename from categories/24/preferences-desktop-sound.svg
rename to categories/24/multimedia-volume-control.svg
diff --git a/categories/24/preferences-desktop-online-accounts.svg b/categories/24/preferences-desktop-online-accounts.svg
deleted file mode 100644
index 973d454c6..000000000
--- a/categories/24/preferences-desktop-online-accounts.svg
+++ /dev/null
@@ -1,241 +0,0 @@
-
-
diff --git a/categories/32/applications-internet.svg b/categories/32/applications-internet.svg
deleted file mode 120000
index a6b406092..000000000
--- a/categories/32/applications-internet.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-online-accounts.svg
\ No newline at end of file
diff --git a/categories/32/applications-internet.svg b/categories/32/applications-internet.svg
new file mode 100644
index 000000000..8baa3d10a
--- /dev/null
+++ b/categories/32/applications-internet.svg
@@ -0,0 +1,218 @@
+
+
diff --git a/categories/32/config-language.svg b/categories/32/config-language.svg
deleted file mode 120000
index c0bcf8bca..000000000
--- a/categories/32/config-language.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-locale.svg
\ No newline at end of file
diff --git a/categories/32/gnome-power-manager.svg b/categories/32/gnome-power-manager.svg
deleted file mode 120000
index e7a4d9f1f..000000000
--- a/categories/32/gnome-power-manager.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-system-power.svg
\ No newline at end of file
diff --git a/categories/32/preferences-desktop-sound.svg b/categories/32/multimedia-volume-control.svg
similarity index 100%
rename from categories/32/preferences-desktop-sound.svg
rename to categories/32/multimedia-volume-control.svg
diff --git a/categories/32/preferences-desktop-online-accounts.svg b/categories/32/preferences-desktop-online-accounts.svg
deleted file mode 100644
index 8baa3d10a..000000000
--- a/categories/32/preferences-desktop-online-accounts.svg
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
diff --git a/categories/48/applications-internet.svg b/categories/48/applications-internet.svg
deleted file mode 120000
index a6b406092..000000000
--- a/categories/48/applications-internet.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-online-accounts.svg
\ No newline at end of file
diff --git a/categories/48/applications-internet.svg b/categories/48/applications-internet.svg
new file mode 100644
index 000000000..bd052cc87
--- /dev/null
+++ b/categories/48/applications-internet.svg
@@ -0,0 +1,223 @@
+
+
diff --git a/categories/48/applications-system.svg b/categories/48/applications-system.svg
deleted file mode 120000
index 1b1a25ece..000000000
--- a/categories/48/applications-system.svg
+++ /dev/null
@@ -1 +0,0 @@
-../../actions/48/system-shutdown.svg
\ No newline at end of file
diff --git a/categories/48/config-language.svg b/categories/48/config-language.svg
deleted file mode 120000
index c0bcf8bca..000000000
--- a/categories/48/config-language.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-locale.svg
\ No newline at end of file
diff --git a/categories/48/gnome-power-manager.svg b/categories/48/gnome-power-manager.svg
deleted file mode 120000
index e7a4d9f1f..000000000
--- a/categories/48/gnome-power-manager.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-system-power.svg
\ No newline at end of file
diff --git a/categories/48/preferences-desktop-sound.svg b/categories/48/multimedia-volume-control.svg
similarity index 100%
rename from categories/48/preferences-desktop-sound.svg
rename to categories/48/multimedia-volume-control.svg
diff --git a/categories/48/preferences-desktop-online-accounts.svg b/categories/48/preferences-desktop-online-accounts.svg
deleted file mode 100644
index bd052cc87..000000000
--- a/categories/48/preferences-desktop-online-accounts.svg
+++ /dev/null
@@ -1,223 +0,0 @@
-
-
diff --git a/categories/64/applications-internet.svg b/categories/64/applications-internet.svg
deleted file mode 120000
index a6b406092..000000000
--- a/categories/64/applications-internet.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-online-accounts.svg
\ No newline at end of file
diff --git a/categories/64/applications-internet.svg b/categories/64/applications-internet.svg
new file mode 100644
index 000000000..69b214144
--- /dev/null
+++ b/categories/64/applications-internet.svg
@@ -0,0 +1,218 @@
+
+
diff --git a/categories/64/gnome-power-manager.svg b/categories/64/gnome-power-manager.svg
deleted file mode 120000
index e7a4d9f1f..000000000
--- a/categories/64/gnome-power-manager.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-system-power.svg
\ No newline at end of file
diff --git a/categories/64/preferences-desktop-sound.svg b/categories/64/multimedia-volume-control.svg
similarity index 100%
rename from categories/64/preferences-desktop-sound.svg
rename to categories/64/multimedia-volume-control.svg
diff --git a/categories/64/preferences-desktop-online-accounts.svg b/categories/64/preferences-desktop-online-accounts.svg
deleted file mode 100644
index 69b214144..000000000
--- a/categories/64/preferences-desktop-online-accounts.svg
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
diff --git a/categories/meson.build b/categories/meson.build
new file mode 100644
index 000000000..632d726ad
--- /dev/null
+++ b/categories/meson.build
@@ -0,0 +1,33 @@
+sizes = ['16', '24', '32', '48', '64', '128', 'symbolic']
+
+links = [
+ # The first argument is the original icon name,
+ # the second is the link
+ ['applications-internet', 'preferences-desktop-online-accounts'],
+ ['multimedia-volume-control', 'preferences-desktop-sound'],
+ ['preferences-desktop-locale', 'config-language'], # gnome language selector
+ ['preferences-system', 'applications-system'],
+ ['preferences-system-power', 'gnome-power-manager']
+]
+
+foreach link : links
+ foreach size: sizes
+ origin = link[0]
+ destination = link[1]
+
+ if (size == 'symbolic')
+ origin += '-symbolic'
+ destination += '-symbolic'
+ endif
+
+ if (fs.exists(size / origin + '.svg'))
+ install_symlink(
+ destination + '.svg',
+ install_dir: icon_dir / 'categories' / size,
+ pointing_to: origin + '.svg',
+ )
+ else
+ warning('@0@ does not exist'.format (size / origin))
+ endif
+ endforeach
+endforeach
diff --git a/categories/symbolic/applications-internet-symbolic.svg b/categories/symbolic/applications-internet-symbolic.svg
deleted file mode 120000
index 5305a9f08..000000000
--- a/categories/symbolic/applications-internet-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-online-accounts-symbolic.svg
\ No newline at end of file
diff --git a/categories/symbolic/applications-internet-symbolic.svg b/categories/symbolic/applications-internet-symbolic.svg
new file mode 100644
index 000000000..bb65b1432
--- /dev/null
+++ b/categories/symbolic/applications-internet-symbolic.svg
@@ -0,0 +1,6 @@
+
diff --git a/categories/symbolic/config-language-symbolic.svg b/categories/symbolic/config-language-symbolic.svg
deleted file mode 120000
index 753bd402c..000000000
--- a/categories/symbolic/config-language-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-preferences-desktop-locale-symbolic.svg
\ No newline at end of file
diff --git a/categories/symbolic/preferences-desktop-online-accounts-symbolic.svg b/categories/symbolic/preferences-desktop-online-accounts-symbolic.svg
deleted file mode 100644
index 6d2bf439e..000000000
--- a/categories/symbolic/preferences-desktop-online-accounts-symbolic.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/meson.build b/meson.build
index 94aeca7c6..dd09f47e8 100644
--- a/meson.build
+++ b/meson.build
@@ -171,6 +171,7 @@ foreach directory_entry : directories
endforeach
subdir('apps')
+subdir('categories')
subdir('cursors')
subdir('mimes')
diff --git a/places/16/folder-remote.svg b/places/16/folder-remote.svg
index d2ed7a68d..f46f6cbbb 120000
--- a/places/16/folder-remote.svg
+++ b/places/16/folder-remote.svg
@@ -1 +1 @@
-../../categories/16/preferences-desktop-online-accounts.svg
\ No newline at end of file
+../../categories/16/applications-internet.svg
\ No newline at end of file
diff --git a/places/24/folder-remote.svg b/places/24/folder-remote.svg
index 19cb3fcc7..d2428700c 120000
--- a/places/24/folder-remote.svg
+++ b/places/24/folder-remote.svg
@@ -1 +1 @@
-../../categories/24/preferences-desktop-online-accounts.svg
\ No newline at end of file
+../../categories/24/applications-internet.svg
\ No newline at end of file
diff --git a/places/symbolic/folder-remote-symbolic.svg b/places/symbolic/folder-remote-symbolic.svg
deleted file mode 120000
index 930a3f91b..000000000
--- a/places/symbolic/folder-remote-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-../../categories/symbolic/preferences-desktop-online-accounts-symbolic.svg
\ No newline at end of file
diff --git a/places/symbolic/folder-remote.svg b/places/symbolic/folder-remote.svg
new file mode 120000
index 000000000..c8b77d876
--- /dev/null
+++ b/places/symbolic/folder-remote.svg
@@ -0,0 +1 @@
+../../categories/symbolic/applications-internet-symbolic.svg
\ No newline at end of file