diff --git a/data/icons/128.svg b/data/icons/128.svg
new file mode 100644
index 00000000..71c5cc66
--- /dev/null
+++ b/data/icons/128.svg
@@ -0,0 +1,349 @@
+
+
diff --git a/data/icons/24.svg b/data/icons/24.svg
new file mode 100644
index 00000000..a70ef4d3
--- /dev/null
+++ b/data/icons/24.svg
@@ -0,0 +1,297 @@
+
+
diff --git a/data/icons/32.svg b/data/icons/32.svg
new file mode 100644
index 00000000..960f517a
--- /dev/null
+++ b/data/icons/32.svg
@@ -0,0 +1,301 @@
+
+
diff --git a/data/icons/48.svg b/data/icons/48.svg
new file mode 100644
index 00000000..46648295
--- /dev/null
+++ b/data/icons/48.svg
@@ -0,0 +1,481 @@
+
+
diff --git a/data/icons/64.svg b/data/icons/64.svg
new file mode 100644
index 00000000..ec7989aa
--- /dev/null
+++ b/data/icons/64.svg
@@ -0,0 +1,297 @@
+
+
diff --git a/data/io.elementary.switchboard.desktop.in b/data/io.elementary.switchboard.desktop.in
index 7809154c..a4dd8b59 100644
--- a/data/io.elementary.switchboard.desktop.in
+++ b/data/io.elementary.switchboard.desktop.in
@@ -3,7 +3,7 @@ Type=Application
Name=System Settings
Comment=Change system and user settings
Exec=io.elementary.switchboard %u
-Icon=preferences-desktop
+Icon=io.elementary.switchboard
Terminal=false
StartupNotify=true
Categories=GNOME;GTK;System;
diff --git a/data/meson.build b/data/meson.build
index 109554dc..1d155bed 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -20,3 +20,18 @@ install_data(
'io.elementary.switchboard.gschema.xml',
install_dir: join_paths(get_option('datadir'), 'glib-2.0', 'schemas')
)
+
+icon_sizes = ['24', '32', '48', '64', '128']
+
+foreach i : icon_sizes
+ install_data(
+ join_paths('icons', i + '.svg'),
+ install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor', i + 'x' + i, 'apps'),
+ rename: meson.project_name() + '.svg'
+ )
+ install_data(
+ join_paths('icons', i + '.svg'),
+ install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor', i + 'x' + i + '@2', 'apps'),
+ rename: meson.project_name() + '.svg'
+ )
+endforeach
diff --git a/src/Application.vala b/src/Application.vala
index ffd37f7f..cbf66a36 100644
--- a/src/Application.vala
+++ b/src/Application.vala
@@ -179,7 +179,7 @@ namespace Switchboard {
main_window = new Hdy.Window ();
main_window.application = this;
- main_window.icon_name = "preferences-desktop";
+ main_window.icon_name = application_id;
main_window.title = _("System Settings");
main_window.add (grid);
main_window.set_size_request (640, 480);