diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index fc705baeaed1eb33acbc2f5d35aff838a1d3f779..5181329c14639ac59bc82e042c3bb2b458c49f91 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -1177,6 +1177,7 @@ void Qt4ProFileNode::applyEvaluate(bool parseResult, bool async)
                                               m_projectDir,
                                               QStringList() << m_projectDir,
                                               0);
+    newVarValues[LibDirectoriesVar] = libDirectories(m_readerExact);
 
     if (m_varValues != newVarValues) {
         m_varValues = newVarValues;
@@ -1355,6 +1356,17 @@ QStringList Qt4ProFileNode::includePaths(ProFileReader *reader) const
     return paths;
 }
 
+QStringList Qt4ProFileNode::libDirectories(ProFileReader *reader) const
+{
+    QStringList result;
+    foreach (const QString &str, reader->values(QLatin1String("LIBS"))) {
+        if (str.startsWith("-L")) {
+            result.append(str.mid(2));
+        }
+    }
+    return result;
+}
+
 QStringList Qt4ProFileNode::subDirsPaths(ProFileReader *reader) const
 {
     QStringList subProjectPaths;
diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h
index c48de9d0c7c20f39ef4c3dce3fa928233086ecc7..3d77805870ee5cb359a0f964f3f724325d0c6255 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.h
+++ b/src/plugins/qt4projectmanager/qt4nodes.h
@@ -91,7 +91,8 @@ enum Qt4Variable {
     UiDirVar,
     MocDirVar,
     PkgConfigVar,
-    PrecompiledHeaderVar
+    PrecompiledHeaderVar,
+    LibDirectoriesVar
 };
 
 class Qt4PriFileNode;
@@ -277,6 +278,7 @@ private:
     QStringList uiDirPaths(ProFileReader *reader) const;
     QStringList mocDirPaths(ProFileReader *reader) const;
     QStringList includePaths(ProFileReader *reader) const;
+    QStringList libDirectories(ProFileReader *reader) const;
     QStringList subDirsPaths(ProFileReader *reader) const;
     TargetInformation targetInformation(ProFileReader *reader) const;
 
diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp
index 826ab256a98781010029c80100408bebc4b1756c..25ef2e71d9fa2c89690eb179e7260c193fbd048e 100644
--- a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp
@@ -550,6 +550,16 @@ ProjectExplorer::Environment Qt4RunConfiguration::baseEnvironment() const
     if (m_isUsingDyldImageSuffix) {
         env.set("DYLD_IMAGE_SUFFIX", "_debug");
     }
+
+#ifdef Q_OS_WIN
+    // On windows the user could be linking to a library found via a -L/some/dir switch
+    // to find those libraries while actually running we explicitly prepend those
+    // dirs to the path
+    Qt4ProFileNode *node = qt4Target()->qt4Project()->rootProjectNode()->findProFileFor(m_proFilePath);
+    if (node)
+        foreach(const QString dir, node->variableValue(LibDirectoriesVar))
+            env.prependOrSetPath(dir);
+#endif
     return env;
 }