diff --git a/src/plugins/debugger/debuggerprotocol.cpp b/src/plugins/debugger/debuggerprotocol.cpp
index 7f673ab8e270e740668840a9799fe0d8d6d78455..b76bce348911e0c410f76c15fb8c863a61f9fa3c 100644
--- a/src/plugins/debugger/debuggerprotocol.cpp
+++ b/src/plugins/debugger/debuggerprotocol.cpp
@@ -33,7 +33,9 @@
 #include <QDateTime>
 #include <QDebug>
 #include <QHostAddress>
+#if QT_VERSION >= 0x050200
 #include <QTimeZone>
+#endif
 
 #include <ctype.h>
 
@@ -504,6 +506,7 @@ static QTime timeFromData(int ms)
     return ms == -1 ? QTime() : QTime(0, 0, 0, 0).addMSecs(ms);
 }
 
+#if QT_VERSION >= 0x050200
 // Stolen and adapted from qdatetime.cpp
 static void getDateTime(qint64 msecs, int status, QDate *date, QTime *time)
 {
@@ -550,6 +553,7 @@ static void getDateTime(qint64 msecs, int status, QDate *date, QTime *time)
     *date = (status & NullDate) ? QDate() : QDate::fromJulianDay(jd);
     *time = (status & NullTime) ? QTime() : QTime::fromMSecsSinceStartOfDay(ds);
 }
+#endif
 
 QString decodeData(const QByteArray &ba, int encoding)
 {
@@ -678,6 +682,7 @@ QString decodeData(const QByteArray &ba, int encoding)
             return QString::fromUtf8(decodedBa);
         }
         case DateTimeInternal: { // 29, DateTimeInternal: msecs, spec, offset, tz, status
+#if QT_VERSION >= 0x050200
             int p0 = ba.indexOf('/');
             int p1 = ba.indexOf('/', p0 + 1);
             int p2 = ba.indexOf('/', p1 + 1);
@@ -708,6 +713,10 @@ QString decodeData(const QByteArray &ba, int encoding)
                 dateTime = QDateTime(date, time, spec);
             }
             return dateTime.toString();
+#else
+            // "Very plain".
+            return QString::fromLatin1(ba);
+#endif
         }
     }
     qDebug() << "ENCODING ERROR: " << encoding;