diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
index 7a38ff8f3809789a58f8e9325410270c6e2ad5ab..1f04c8b0d71b7364577ed89fcf2c889a665b2c3a 100644
--- a/mkspecs/features/resources.prf
+++ b/mkspecs/features/resources.prf
@@ -49,9 +49,15 @@ for(resource, RESOURCES) {
 
         for(file, $${resource}.files) {
             abs_path = $$absolute_path($$file, $$_PRO_FILE_PWD_)
-            alias = $$relative_path($$abs_path, $$abs_base)
-            resource_file_content += \
-                "<file alias=\"$$xml_escape($$alias)\">$$xml_escape($$abs_path)</file>"
+            files = $$files($$abs_path/*, true)
+            isEmpty(files): \
+                files = $$abs_path
+            for (file, files) {
+                exists($$file/*): next()  # exclude directories
+                alias = $$relative_path($$file, $$abs_base)
+                resource_file_content += \
+                    "<file alias=\"$$xml_escape($$alias)\">$$xml_escape($$file)</file>"
+            }
         }
 
         resource_file_content += \