diff --git a/src/libs/qmljsdebugclient/qdebugmessageclient.cpp b/src/libs/qmljsdebugclient/qdebugmessageclient.cpp
index bc1a11f665df751ed9fa7aa275f54989bbf5612b..6e4fd1965c2b021ce2eb897484cdd67eadfb261b 100644
--- a/src/libs/qmljsdebugclient/qdebugmessageclient.cpp
+++ b/src/libs/qmljsdebugclient/qdebugmessageclient.cpp
@@ -55,14 +55,21 @@ void QDebugMessageClient::messageReceived(const QByteArray &data)
     ds >> command;
 
     if (command == "MESSAGE") {
-        QByteArray messagePacket;
-        ds >> messagePacket;
+        if (serviceVersion() == 1.0) {
+            QByteArray messagePacket;
+            ds >> messagePacket;
 
-        QByteArray debugMessage;
-        int type;
-        QDataStream ms(messagePacket);
-        ms >> type >> debugMessage;
-        emit message(QtMsgType(type), QString::fromUtf8(debugMessage.data()));
+            QByteArray debugMessage;
+            int type;
+            QDataStream ms(messagePacket);
+            ms >> type >> debugMessage;
+            emit message(QtMsgType(type), QString::fromUtf8(debugMessage.data()));
+        } else {
+            int type;
+            QByteArray debugMessage;
+            ds >> type >> debugMessage;
+            emit message(QtMsgType(type), QString::fromUtf8(debugMessage));
+        }
     }
 }