--- a/Makefile
+++ b/Makefile
@@ -110,7 +110,6 @@ buildenv: pyenv
 # ----------
 
 node.env: buildenv
-	$(Q)./manage.sh npm_packages
 
 node.clean:
 	$(Q)echo "CLEAN     locally installed npm dependencies"
@@ -129,20 +128,23 @@ PHONY += themes themes.oscar themes.simp
 themes: buildenv themes.oscar themes.simple
 
 quiet_cmd_lessc = LESSC     $3
-      cmd_lessc = PATH="$$(npm bin):$$PATH" \
-	lessc --clean-css="--s1 --advanced --compatibility=ie9" "searx/static/$2" "searx/static/$3"
+      cmd_lessc = lessc -x "searx/static/$2" "searx/static/$3"
 
 quiet_cmd_grunt = GRUNT     $2
-      cmd_grunt = PATH="$$(npm bin):$$PATH" \
-	grunt --gruntfile  "$2"
+      cmd_grunt = grunt --gruntfile  "$2"
 
 themes.oscar: node.env
 	$(Q)echo '[!] build oscar theme'
 	$(call cmd,grunt,searx/static/themes/oscar/gruntfile.js)
+	$(call cmd,lessc,themes/oscar/less/logicodev/oscar.less,themes/oscar/css/logicodev.min.css)
+	$(call cmd,lessc,themes/oscar/less/logicodev-dark/oscar.less,themes/oscar/css/logicodev-dark.min.css)
+	$(call cmd,lessc,themes/oscar/less/pointhi/oscar.less,themes/oscar/css/pointhi.min.css)
 
 themes.simple: node.env
 	$(Q)echo '[!] build simple theme'
 	$(call cmd,grunt,searx/static/themes/simple/gruntfile.js)
+	$(call cmd,lessc,themes/simple/less/style-rtl.less,themes/simple/css/style-rtl.min.css)
+	$(call cmd,lessc,themes/simple/less/style.less,themes/simple/css/style.min.css)
 
 
 # docker
