diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp
index 583552a862140906098b1f57533bb6dca81411ea..1185eaf408b49e8a77cb3ce7bc2a1a29f03110de 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp
@@ -33,6 +33,8 @@
 #include "maemotoolchain.h"
 
 #include <qt4projectmanager/qt4buildconfiguration.h>
+#include <qt4projectmanager/qt4project.h>
+#include <qt4projectmanager/qt4target.h>
 
 #include <QtCore/QDir>
 #include <QtCore/QFileInfo>
@@ -176,8 +178,14 @@ void MaemoPackageContents::fromMap(const QVariantMap &map)
 QString MaemoPackageContents::remoteExecutableFilePath() const
 {
     if (m_remoteExecutableFilePath.isEmpty()) {
-        m_remoteExecutableFilePath = QLatin1String("/usr/local/bin/")
-                                     + m_packageStep->executableFileName();
+        const Qt4ProjectType projectType
+            = m_packageStep->qt4BuildConfiguration()->qt4Target()->qt4Project()
+              ->rootProjectNode()->projectType();
+        const QString remoteDir = projectType == LibraryTemplate
+            ? QLatin1String("/usr/local/lib/")
+            : QLatin1String("/usr/local/bin/");
+        m_remoteExecutableFilePath
+            = remoteDir + m_packageStep->executableFileName();
     }
     return m_remoteExecutableFilePath;
 }
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
index 47a43892f5415d196d93d93c7e65b757062740f5..61ca0edc2132e6ab6d1fd214ada6d84f8b3475a0 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
@@ -254,14 +254,22 @@ QString MaemoPackageCreationStep::localExecutableFilePath() const
         ->qt4Project()->rootProjectNode()->targetInformation();
     if (!ti.valid)
         return QString();
-
     return QDir::toNativeSeparators(QDir::cleanPath(ti.workingDir
-        + QLatin1Char('/') + ti.target));
+        + QLatin1Char('/') + executableFileName()));
 }
 
 QString MaemoPackageCreationStep::executableFileName() const
 {
-    return QFileInfo(localExecutableFilePath()).fileName();
+    const Qt4Project * const project
+        = qt4BuildConfiguration()->qt4Target()->qt4Project();
+    const TargetInformation &ti
+        = project->rootProjectNode()->targetInformation();
+    if (!ti.valid)
+        return QString();
+
+    return project->rootProjectNode()->projectType() == LibraryTemplate
+        ? QLatin1String("lib") + ti.target + QLatin1String(".so")
+        : ti.target;
 }
 
 const MaemoToolChain *MaemoPackageCreationStep::maemoToolChain() const
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h
index 60f2bbce526c42096728d171240762b0627af4db..f0945db1ddf9f3ab749e4e5805b8ce1e434c03f2 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h
@@ -67,6 +67,7 @@ public:
     QString localExecutableFilePath() const;
     QString executableFileName() const;
     MaemoPackageContents *packageContents() const { return m_packageContents; }
+    const Qt4BuildConfiguration *qt4BuildConfiguration() const;
 
 private:
     MaemoPackageCreationStep(ProjectExplorer::BuildConfiguration *buildConfig,
@@ -81,7 +82,6 @@ private:
 
     bool createPackage();
     bool runCommand(QProcess &proc, const QString &command);
-    const Qt4BuildConfiguration *qt4BuildConfiguration() const;
     const MaemoToolChain *maemoToolChain() const;
     QString maddeRoot() const;
     QString targetRoot() const;