diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp
index bca0375c7762ec4544375da2776ea92b02653f5d..272e1c2211dc363c53f212d58b58d2ee9b8013e8 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp
@@ -59,20 +59,27 @@ bool MaemoDeployableListModel::buildModel()
 
     const MaemoProFileWrapper::InstallsList &installs = m_proFileWrapper->installs();
     if (installs.targetPath.isEmpty()) {
-        const QString remoteDir = m_proFileNode->projectType() == LibraryTemplate
-            ? QLatin1String("/opt/lib")
-            : QLatin1String("/opt/bin");
+        const QString remoteDirSuffix
+            = QLatin1String(m_proFileNode->projectType() == LibraryTemplate
+                ? "/lib" : "/bin");
+        const QString remoteDirMaemo5
+            = QLatin1String("/opt/usr") + remoteDirSuffix;
+        const QString remoteDirMaemo6
+            = QLatin1String("/usr/local") + remoteDirSuffix;
         m_deployables.prepend(MaemoDeployable(localExecutableFilePath(),
-            remoteDir));
+            remoteDirMaemo5));
         QFile projectFile(m_proFileNode->path());
         if (!projectFile.open(QIODevice::WriteOnly | QIODevice::Append)) {
             qWarning("Error updating .pro file.");
             return false;
         }
-        QString installsString
-            = QLatin1String("\nmaemo5|maemo6 {\n    target.path = ")
-                + remoteDir + QLatin1String("\n    INSTALLS += target\n}\n");
-        if (!projectFile.write(installsString.toLocal8Bit())) {
+        QString proFileTemplate = QLatin1String("\nunix:!symbian {\n"
+            "    maemo5 {\n        target.path = maemo5path\n    } else {\n"
+            "        target.path = maemo6path\n    }\n"
+            "    INSTALLS += target\n}");
+        proFileTemplate.replace(QLatin1String("maemo5path"), remoteDirMaemo5);
+        proFileTemplate.replace(QLatin1String("maemo6path"), remoteDirMaemo6);
+        if (!projectFile.write(proFileTemplate.toLocal8Bit())) {
             qWarning("Error updating .pro file.");
             return false;
         }
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp
index f079ab42b45ea16003d3c4153506ad9c01b9aac1..8e878b568d85b1f32b9937b7bfba95fd1ae8368f 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp
@@ -363,9 +363,12 @@ bool MaemoTemplatesManager::updateDesktopFile(const Qt4Target *target,
             return false;
         }
         QByteArray proFileContents = proFile.readAll();
-        proFileContents += "\nmaemo5|maemp6{\n"
+        proFileContents += "\nunix:!symbian {\n"
             "    desktopfile.files = $${TARGET}.desktop\n"
-            "    desktopfile.path = /usr/share/applications/hildon\n"
+            "    maemo5 {\n"
+            "        desktopfile.path = /usr/share/applications/hildon\n"
+            "    } else {\n"
+            "        desktopfile.path = /usr/share/applications\n    }\n"
             "    INSTALLS += desktopfile\n}\n";
         proFile.resize(0);
         proFile.write(proFileContents);