diff --git a/Makefile b/Makefile
index 2c3be15056a6cdb1667c6dd5de719752eaaac8c3..bc5672d1eb65b6b5027a5a0d6a67bfde60914d0e 100644
--- a/Makefile
+++ b/Makefile
@@ -81,18 +81,19 @@ test-unit: $(CODECEPT)
 
 catalogs: npm $(CATALOGS)
 
-# black = #000000
-# blue = #28497c
-# green = #00962d
-# grey = #6e6e6e
-# red = #cb1800
-# white = #ffffff
-# yellow = #ffad00
-icons:
-	declare -A colorMap=(["black"]="#000000" ["green"]="#00962d" ["grey"]="#6e6e6e" ["red"]="#cb1800" ["white"]="#ffffff" ["yellow"]="#ffad00")
+clean-icons:
+	find public/assets/images/icons -type f -not -path '*blue*' -delete
 
 optimize-icons: npm
-	find public/assets/images/icons -type f | xargs -P0 $(NPM_BIN)/svgo -q --config=config/svgo.config.js
+	find public/assets/images/icons/blue -type f | xargs -P0 $(NPM_BIN)/svgo -q --config=config/svgo.config.js
+
+icons: optimize-icons
+	find public/assets/images/icons/blue -type f -print0 | xargs -0 -n1 -I{} echo 'sed "s/#28497c/#000000/" {} > {}' | sed 's#icons/blue#icons/black#2' | sh
+	find public/assets/images/icons/blue -type f -print0 | xargs -0 -n1 -I{} echo 'sed "s/#28497c/#00962d/" {} > {}' | sed 's#icons/blue#icons/green#2' | sh
+	find public/assets/images/icons/blue -type f -print0 | xargs -0 -n1 -I{} echo 'sed "s/#28497c/#6e6e6e/" {} > {}' | sed 's#icons/blue#icons/grey#2' | sh
+	find public/assets/images/icons/blue -type f -print0 | xargs -0 -n1 -I{} echo 'sed "s/#28497c/#cb1800/" {} > {}' | sed 's#icons/blue#icons/red#2' | sh
+	find public/assets/images/icons/blue -type f -print0 | xargs -0 -n1 -I{} echo 'sed "s/#28497c/#ffffff/" {} > {}' | sed 's#icons/blue#icons/white#2' | sh
+	find public/assets/images/icons/blue -type f -print0 | xargs -0 -n1 -I{} echo 'sed "s/#28497c/#ffad00/" {} > {}' | sed 's#icons/blue#icons/yellow#2' | sh
 
 # default rules for gettext handling
 js-%.pot: $(VUE_SOURCES)