diff --git a/configure.json b/configure.json
index c8901235293af10f9c268f4db4975e60e649ee26..3210c60fb44360bf1461465b2acde5cd21d9d3d2 100644
--- a/configure.json
+++ b/configure.json
@@ -1,6 +1,7 @@
 {
     "module": "webengine",
     "depends": [
+        "gui-private",
         "printsupport"
     ],
 
@@ -290,7 +291,7 @@
         },
         "webengine-system-harfbuzz": {
             "label": "harfbuzz",
-            "condition": "libs.harfbuzz",
+            "condition": "config.unix && features.system-harfbuzz && libs.harfbuzz",
             "output": [ "privateFeature" ]
         },
         "system-glib" : {
@@ -325,7 +326,7 @@
         },
         "webengine-system-png" : {
             "label": "png",
-            "condition": "config.unix && libs.png",
+            "condition": "config.unix && features.system-png && libs.png",
             "output": [ "privateFeature" ]
         },
         "python2": {
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index fae1570607ccca540cb9ccb084db5344ebb994ff..a2361b02f35e4a6eefb2e96cfa5923ac39993bf5 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -116,15 +116,10 @@ host_build {
     }
 
     qtConfig(system-zlib): qtConfig(system-minizip): gn_args += use_system_zlib=true use_system_minizip=true
-
-    # FIXME: make system-png a public feature in gui
-    qtConfig(system-png): qtConfig(webengine-system-png): gn_args += use_system_libpng=true
-
+    qtConfig(webengine-system-png): gn_args += use_system_libpng=true
     qtConfig(system-jpeg): gn_args += use_system_libjpeg=true
     qtConfig(system-freetype): gn_args += use_system_freetype=true
-
-    # FIXME: make system-harfbuzz a public feautre in gui
-    qtConfig(system-harfbuzz): qtConfig(webengine-system-harfbuzz): gn_args += use_system_harfbuzz=true
+    qtConfig(webengine-system-harfbuzz): gn_args += use_system_harfbuzz=true
     qtConfig(system-glib): gn_args += use_glib=false
     qtConfig(pulseaudio) {
         gn_args += use_pulseaudio=true