diff --git a/app/src/handlers/systemhandler.cpp b/app/src/handlers/systemhandler.cpp
index 4127a68c8d7f9a3eac6ce96f751586e97ac50a7d..74b03622c256ed2ee190a02aee51eb33beb7b412 100644
--- a/app/src/handlers/systemhandler.cpp
+++ b/app/src/handlers/systemhandler.cpp
@@ -110,7 +110,8 @@ bool SystemHandler::isApplicableType(const QString &installType) const
                         << "gnome_shell_themes";
     }
     else if (desktop == "xfce") {
-        applicableTypes << "wallpapers";
+        applicableTypes << "wallpapers"
+                        << "icons";
     }
 
     return applicableTypes.contains(installType);
@@ -161,6 +162,9 @@ bool SystemHandler::applyFile(const QString &path, const QString &installType) c
             if (installType == "wallpapers") {
                 return applyXfceWallpaper(path);
             }
+            else if (installType == "icons") {
+                return applyXfceIcon(themeName);
+            }
         }
     }
 
@@ -301,4 +305,9 @@ bool SystemHandler::applyXfceWallpaper(const QString &path) const
 {
     return setConfigWithXfconf("xfce4-desktop", "/backdrop/screen0/monitor0/workspace0/last-image", path);
 }
+
+bool SystemHandler::applyXfceIcon(const QString &themeName) const
+{
+    return setConfigWithXfconf("xsettings", "/Net/IconThemeName", themeName);
+}
 #endif
diff --git a/app/src/handlers/systemhandler.h b/app/src/handlers/systemhandler.h
index 57a11b1f1b6a3e6b90dc1c8fd8ffa385ebcffb66..87b372a64932965e4a4e72905e02ab9962f0b475 100644
--- a/app/src/handlers/systemhandler.h
+++ b/app/src/handlers/systemhandler.h
@@ -39,5 +39,6 @@ private:
 
     bool setConfigWithXfconf(const QString &channel, const QString &property, const QString &value) const;
     bool applyXfceWallpaper(const QString &path) const;
+    bool applyXfceIcon(const QString &themeName) const;
 #endif
 };