diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 8a60c44032161475749d6fe119b04bf92077b41c..46a05c52b2d1f0e535d5b5999f6846f1878fdeb1 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -100,10 +100,13 @@ ProString Win32MakefileGenerator::fixLibFlag(const ProString &lib)
 {
     if (lib.startsWith('/')) {
         if (lib.startsWith("/LIBPATH:"))
-            return QStringLiteral("/LIBPATH:") + escapeFilePath(lib.mid(9));
+            return QLatin1String("/LIBPATH:")
+                    + escapeFilePath(Option::fixPathToTargetOS(lib.mid(9).toQString(), false));
+        // This appears to be a user-supplied flag. Assume sufficient quoting.
         return lib;
     }
-    return escapeFilePath(lib);
+    // This must be a fully resolved library path.
+    return escapeFilePath(Option::fixPathToTargetOS(lib.toQString(), false));
 }
 
 bool