diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp
index 36e1c172e3fc9932f670d872bf64c1e52616ec31..785e8dca7e9687ba63b89f2519586695230828ed 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoqemumanager.cpp
@@ -352,12 +352,12 @@ void MaemoQemuManager::startRuntime()
     }
 
     m_runningQtId = version->uniqueId();
-    const QString root
-        = QDir::toNativeSeparators(MaemoGlobal::maddeRoot(version->qmakeCommand())
-            + QLatin1Char('/'));
     const MaemoQemuRuntime rt = m_runtimes.value(version->uniqueId());
     QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
 #ifdef Q_OS_WIN
+    const QString root
+        = QDir::toNativeSeparators(MaemoGlobal::maddeRoot(version->qmakeCommand())
+            + QLatin1Char('/'));
     const QLatin1Char colon(';');
     const QLatin1String key("PATH");
     env.insert(key, root % QLatin1String("bin") % colon % env.value(key));
@@ -369,22 +369,7 @@ void MaemoQemuManager::startRuntime()
     m_qemuProcess->setProcessEnvironment(env);
     m_qemuProcess->setWorkingDirectory(rt.m_root);
 
-    // This is complex because of extreme MADDE weirdness.
-    const bool pathIsRelative = QFileInfo(rt.m_bin).isRelative();
-    const QString app =
-#ifdef Q_OS_WIN
-        root % (pathIsRelative
-            ? QLatin1String("madlib/") % rt.m_bin // Fremantle.
-            : rt.m_bin)                           // Haramattan.
-            % QLatin1String(".exe");
-#else
-        pathIsRelative
-            ? root % QLatin1String("madlib/") % rt.m_bin // Fremantle.
-            : rt.m_bin;                                  // Haramattan.
-#endif
-
-    m_qemuProcess->start(app % QLatin1Char(' ') % rt.m_args,
-        QIODevice::ReadWrite);
+    m_qemuProcess->start(rt.m_bin % QLatin1Char(' ') % rt.m_args);
     if (!m_qemuProcess->waitForStarted())
         return;
 
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp
index b64370a74f6f86cc37923fff7446ce0811332777..ac0f5a318652d64c98bed4dbbcf6c103278786bc 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoqemuruntimeparser.cpp
@@ -192,7 +192,21 @@ void MaemoQemuRuntimeParserV1::fillRuntimeInformation(MaemoQemuRuntime *runtime)
                     break;
                 runtime->m_freePorts.addPort(port.toInt());
             }
-            return;
+
+            // This is complex because of extreme MADDE weirdness.
+            const QString root = m_maddeRoot + QLatin1Char('/');
+            const bool pathIsRelative = QFileInfo(runtime->m_bin).isRelative();
+            runtime->m_bin =
+        #ifdef Q_OS_WIN
+                root + (pathIsRelative
+                    ? QLatin1String("madlib/") + runtime->m_bin // Fremantle.
+                    : runtime->m_bin)                           // Harmattan.
+                    + QLatin1String(".exe");
+        #else
+                pathIsRelative
+                    ? root + QLatin1String("madlib/") + runtime->m_bin // Fremantle.
+                    : runtime->m_bin;                                  // Harmattan.
+        #endif
         }
     }
 }