diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp
index e7594707feb5df1bb43c8df5bb63bc9071e3ce31..03840ac854d17ea9dba189b50a5d8bf984e816b4 100644
--- a/share/qtcreator/gdbmacros/gdbmacros.cpp
+++ b/share/qtcreator/gdbmacros/gdbmacros.cpp
@@ -2460,7 +2460,7 @@ static void qDumpQVariant(QDumper &d)
         d.putItem("value", "(invalid)");
     } else if (value.isEmpty()) {
         d.beginItem("value");
-            d.put("(").put(v.typeName()).put(") ").put(qPrintable(value));
+            d.put("(").put(v.typeName()).put(") ");
         d.endItem();
     } else {
         QByteArray ba;
@@ -2469,7 +2469,7 @@ static void qDumpQVariant(QDumper &d)
         ba += ") ";
         ba += qPrintable(value);
         d.putItem("value", ba);
-        d.putItem("valueencoded", "4");
+        d.putItem("valueencoded", "5");
     }
     d.putItem("type", NS"QVariant");
     d.putItem("numchild", (isInvalid ? "0" : "1"));
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp
index 883d6cba1f736c976f89a42229939476fa35ebbe..60b75fdc76136b6069db7a84d076f286bbd1ca05 100644
--- a/src/plugins/debugger/watchutils.cpp
+++ b/src/plugins/debugger/watchutils.cpp
@@ -376,6 +376,9 @@ QString decodeData(const QByteArray &ba, int encoding)
             const QByteArray decodedBa = QByteArray::fromBase64(ba);
             return QString::fromUtf16(reinterpret_cast<const ushort *>(decodedBa.data()), decodedBa.size() / 2);
         }
+        case 5: { //  base64 encoded 8 bit data, without quotes (see 1)
+            return quoteUnprintableLatin1(QByteArray::fromBase64(ba));
+        }
     }
     return QCoreApplication::translate("Debugger", "<Encoding error>");
 }
diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp
index d4cd03b4bc07e320b44877973ce415be3a36c537..b8b327af50ecd77041b23f7397998b6b7a3fedcb 100644
--- a/tests/manual/gdbdebugger/simple/app.cpp
+++ b/tests/manual/gdbdebugger/simple/app.cpp
@@ -468,6 +468,7 @@ void testQObject(int &argc, char *argv[])
 #endif
     QString str = QString::fromUtf8("XXXXXXXXXXXXXXyyXXX ö");
     QLabel l(str);
+    l.setObjectName("Some Label");
     l.show();
     app.exec();
 }
@@ -915,7 +916,13 @@ void testQVariant1()
 
 void testQVariant2()
 {
+    QVariant value;
+    QVariant::Type t = QVariant::String;
+    value = QVariant(t, (void*)0);
+    *(QString*)value.data() = QString("XXX");
+
     int i = 1;
+#if 0
     QVariant var;
     var.setValue(1);
     var.setValue(2);
@@ -927,6 +934,7 @@ void testQVariant2()
     var.setValue(QStringList() << "World" << "Hello");
     var.setValue(QStringList() << "Hello" << "Hello");
     var.setValue(QStringList() << "World" << "Hello" << "Hello");
+#endif
 #if 0
     QVariant var3;
     QHostAddress ha("127.0.0.1");