diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
index e854368c29d1dec6e3f00b30d6ef568bf127a257..cff063301150bc4d162e88eddf3eeefe4da52125 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
@@ -148,12 +148,31 @@ bool S60DeployConfiguration::isStaticLibrary(const Qt4ProFileNode &projectNode)
     return false;
 }
 
+bool S60DeployConfiguration::isApplication(const Qt4ProFileNode &projectNode) const
+{
+    return projectNode.projectType() == ApplicationTemplate;
+}
+
+bool S60DeployConfiguration::isDeployable(const Qt4ProFileNode &projectNode) const
+{
+    const QStringList &deployment(projectNode.variableValue(Deployment));
+    // default_*deployment are default for DEPLOYMENT
+    const char * defaultDeploymentStart = "default_";
+    const char * defaultDeploymentEnd = "deployment";
+
+    //we need to filter out the default_*deployment
+    for (int i = deployment.count() - 1; i >= 0; --i) {
+        const QString var = deployment.at(i);
+        if (!var.startsWith(QLatin1String(defaultDeploymentStart))
+                || !var.endsWith(QLatin1String(defaultDeploymentEnd)))
+            return true;
+    }
+    return false;
+}
+
 bool S60DeployConfiguration::hasSisPackage(const Qt4ProFileNode &projectNode) const
 {
-    if (projectNode.projectType() != ApplicationTemplate
-            && projectNode.projectType() != LibraryTemplate)
-        return false;
-    return !isStaticLibrary(projectNode);
+    return isDeployable(projectNode) || isApplication(projectNode);
 }
 
 QStringList S60DeployConfiguration::signedPackages() const
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
index f5d8efd1feddf21bf5fdae1daf842657465d55fa..d961a978bbe77de0c5cc90adb24003a533436c14 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
@@ -130,7 +130,9 @@ private:
     QString symbianTarget() const;
     QString createPackageName(const QString &baseName) const;
     bool isDebug() const;
+    bool isDeployable(const Qt4ProFileNode &projectNode) const;
     bool isStaticLibrary(const Qt4ProFileNode &projectNode) const;
+    bool isApplication(const Qt4ProFileNode &projectNode) const;
     bool hasSisPackage(const Qt4ProFileNode &projectNode) const;
 
 private:
diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 35d5e70ad3bf68553d217fd674375eea3377ac50..406443121fd5a3e81d998be231a3ad3986fcc4d2 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -1745,6 +1745,7 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async)
                     QLatin1String("QML_IMPORT_PATH"), m_projectDir);
         newVarValues[Makefile] = m_readerExact->values("MAKEFILE");
         newVarValues[SymbianCapabilities] = m_readerExact->values("TARGET.CAPABILITY");
+        newVarValues[Deployment] = m_readerExact->values("DEPLOYMENT");
 
         if (m_varValues != newVarValues) {
             Qt4VariablesHash oldValues = m_varValues;
diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h
index 369ca5a5e33d7e3863268f66e4cee70ead2e86aa..029abb8af926b35b24a9b519a7ac3a6606865ea3 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.h
+++ b/src/plugins/qt4projectmanager/qt4nodes.h
@@ -104,7 +104,8 @@ enum Qt4Variable {
     ConfigVar,
     QmlImportPathVar,
     Makefile,
-    SymbianCapabilities
+    SymbianCapabilities,
+    Deployment
 };
 
 class Qt4PriFileNode;