diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp
index ccb8f868f70c5d644cfb2cd801c49f1e9b5f6312..9522e7df58388b62637adb5bf8c34f5f402f4a74 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp
@@ -32,8 +32,10 @@
 #include "maemopackagecreationstep.h"
 
 namespace {
-    const char * const MODIFIED_KEY =
-        "Qt4ProjectManager.BuildStep.MaemoPackage.Modified";
+    const char * const MODIFIED_KEY
+        = "Qt4ProjectManager.BuildStep.MaemoPackage.Modified";
+    const char * const REMOTE_EXE_KEY
+        = "Qt4ProjectManager.BuildStep.MaemoPackage.RemoteExe";
     const char * const LOCAL_FILES_KEY
         = "Qt4ProjectManager.BuildStep.MaemoPackage.LocalFiles";
     const char * const REMOTE_FILES_KEY
@@ -55,7 +57,7 @@ MaemoPackageContents::Deployable MaemoPackageContents::deployableAt(int row) con
     Q_ASSERT(row >= 0 && row < rowCount());
     return row == 0
         ? Deployable(m_packageStep->localExecutableFilePath(),
-                     m_packageStep->remoteExecutableFilePath())
+                     remoteExecutableFilePath())
         : m_deployables.at(row - 1);
 }
 
@@ -112,6 +114,7 @@ QVariantMap MaemoPackageContents::toMap() const
 {
     QVariantMap map;
     map.insert(MODIFIED_KEY, m_modified);
+    map.insert(REMOTE_EXE_KEY, remoteExecutableFilePath());
     QStringList localFiles;
     QStringList remoteFiles;
     foreach (const Deployable &p, m_deployables) {
@@ -126,6 +129,7 @@ QVariantMap MaemoPackageContents::toMap() const
 void MaemoPackageContents::fromMap(const QVariantMap &map)
 {
     m_modified = map.value(MODIFIED_KEY).toBool();
+    m_remoteExecutableFilePath = map.value(REMOTE_EXE_KEY).toString();
     const QStringList localFiles = map.value(LOCAL_FILES_KEY).toStringList();
     const QStringList remoteFiles = map.value(REMOTE_FILES_KEY).toStringList();
     if (localFiles.count() != remoteFiles.count())
@@ -135,5 +139,14 @@ void MaemoPackageContents::fromMap(const QVariantMap &map)
         m_deployables << Deployable(localFiles.at(i), remoteFiles.at(i));
 }
 
+QString MaemoPackageContents::remoteExecutableFilePath() const
+{
+    if (m_remoteExecutableFilePath.isEmpty()) {
+        m_remoteExecutableFilePath = QLatin1String("/usr/local/bin/")
+                                     + m_packageStep->executableFileName();
+    }
+    return m_remoteExecutableFilePath;
+}
+
 } // namespace Qt4ProjectManager
 } // namespace Internal
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h
index 8708d3a8fd2daccf8fc2df4cfbe5bd509364e214..6e50fd3885aac4cc1933ce884d5d6641447f6889 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.h
@@ -71,6 +71,7 @@ public:
     void removeDeployableAt(int row);
     bool isModified() const { return m_modified; }
     void setUnModified() { m_modified = false; }
+    QString remoteExecutableFilePath() const;
 
 private:
     virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
@@ -86,6 +87,7 @@ private:
     const MaemoPackageCreationStep * const m_packageStep;
     QList<Deployable> m_deployables;
     bool m_modified;
+    mutable QString m_remoteExecutableFilePath;
 };
 
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
index 9916b4d2c0c5b30718e90452ade3d586051fcffa..47a43892f5415d196d93d93c7e65b757062740f5 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
@@ -302,11 +302,6 @@ QString MaemoPackageCreationStep::packageFilePath() const
         % versionString() % QLatin1String("_armel.deb");
 }
 
-QString MaemoPackageCreationStep::remoteExecutableFilePath() const
-{
-    return QLatin1String("/usr/local/bin/") % executableFileName();
-}
-
 QString MaemoPackageCreationStep::versionString() const
 {
     return QLatin1String("_0.1");
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h
index 02f50c1a75201e8605b8d7126d98a7e1a108294d..60f2bbce526c42096728d171240762b0627af4db 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h
@@ -64,8 +64,8 @@ public:
     MaemoPackageCreationStep(ProjectExplorer::BuildConfiguration *buildConfig);
 
     QString packageFilePath() const;
-    QString remoteExecutableFilePath() const;
     QString localExecutableFilePath() const;
+    QString executableFileName() const;
     MaemoPackageContents *packageContents() const { return m_packageContents; }
 
 private:
@@ -83,7 +83,6 @@ private:
     bool runCommand(QProcess &proc, const QString &command);
     const Qt4BuildConfiguration *qt4BuildConfiguration() const;
     const MaemoToolChain *maemoToolChain() const;
-    QString executableFileName() const;
     QString maddeRoot() const;
     QString targetRoot() const;
     QString nativePath(const QFile &file) const;
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
index aebf4cb5df62908b2c72feacf14eaa1c9f1a7ae8..6d9983666e33350759d609eb6b77a721888c384b 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
@@ -34,6 +34,7 @@
 
 #include "maemoruncontrol.h"
 
+#include "maemopackagecontents.h"
 #include "maemopackagecreationstep.h"
 #include "maemosshthread.h"
 #include "maemorunconfiguration.h"
@@ -200,7 +201,7 @@ QString AbstractMaemoRunControl::packageFilePath() const
 
 QString AbstractMaemoRunControl::executableFilePathOnTarget() const
 {
-    return m_runConfig->packageStep()->remoteExecutableFilePath();
+    return m_runConfig->packageStep()->packageContents()->remoteExecutableFilePath();
 }
 
 bool AbstractMaemoRunControl::isCleaning() const