diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp
index 0ee8512d1d34b457c81add6391af01f40ef2f20e..49c42bef3c3ebe2b8d84f2e33f7b69c3ab23148c 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunfactories.cpp
@@ -163,7 +163,8 @@ bool MaemoRunControlFactory::canRun(RunConfiguration *runConfiguration,
     const MaemoRunConfiguration * const maemoRunConfig
         = qobject_cast<MaemoRunConfiguration *>(runConfiguration);
     if (!maemoRunConfig || !maemoRunConfig->deviceConfig().isValid()
-        || !maemoRunConfig->toolchain())
+        || !maemoRunConfig->toolchain()
+        || maemoRunConfig->remoteExecutableFilePath().isEmpty())
         return false;
     const int freePortCount = maemoRunConfig->freePorts().count();
     if (freePortCount == 0)
@@ -182,10 +183,11 @@ bool MaemoRunControlFactory::canRun(RunConfiguration *runConfiguration,
 RunControl* MaemoRunControlFactory::create(RunConfiguration *runConfig,
     const QString &mode)
 {
-    MaemoRunConfiguration *rc = qobject_cast<MaemoRunConfiguration *>(runConfig);
-    Q_ASSERT(rc);
     Q_ASSERT(mode == ProjectExplorer::Constants::RUNMODE
         || mode == ProjectExplorer::Constants::DEBUGMODE);
+    Q_ASSERT(canRun(runConfig, mode));
+    MaemoRunConfiguration *rc = qobject_cast<MaemoRunConfiguration *>(runConfig);
+    Q_ASSERT(rc);
     if (mode == ProjectExplorer::Constants::RUNMODE)
         return new MaemoRunControl(rc);
     return MaemoDebugSupport::createDebugRunControl(rc);