diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp
index 3b7151f1e9cea34eecd5e64e25ee82f218cefddb..2d0763a64cf080b75bc590f1fe23c80336897166 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp
@@ -48,6 +48,7 @@
 #include <ne7ssh.h>
 
 #include <QtCore/QFileInfo>
+#include <QtCore/QScopedPointer>
 #include <QtCore/QStringBuilder>
 
 #include <cstdio>
@@ -132,12 +133,12 @@ void MaemoInteractiveSshConnection::runCommand(const QString &command)
         const char * const error = lastError();
         if (error)
             throw MaemoSshException(tr("SSH error: %1").arg(error));
-        const char * const output = ssh.readAndReset(channel(), alloc);
-        if (output) {
-            emit remoteOutput(QString::fromUtf8(output));
+        QScopedPointer<char, QScopedPointerArrayDeleter<char> >
+            output(ssh.readAndReset(channel(), alloc));
+        if (output.data()) {
+            emit remoteOutput(QString::fromUtf8(output.data()));
             if (!done)
-                done = strstr(output, m_prompt) != 0;
-            delete[] output;
+                done = strstr(output.data(), m_prompt) != 0;
         }
     } while (!done && !stopRequested());
 }