diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 55aaff207df1912281b3bc4a63daa00842402421..cf37f4f965ff8baaf64da664710304463c12c17d 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -255,23 +255,6 @@ class UnnamedSubItem(SubItem):
         self.iname = "%s.%s" % (self.d.currentIName, component)
         self.name = None
 
-movableTypes = set([
-    "QBrush", "QBitArray", "QByteArray", "QCustomTypeInfo", "QChar", "QDate",
-    "QDateTime", "QFileInfo", "QFixed", "QFixedPoint", "QFixedSize",
-    "QHashDummyValue", "QIcon", "QImage", "QLine", "QLineF", "QLatin1Char",
-    "QLocale", "QMatrix", "QModelIndex", "QPoint", "QPointF", "QPen",
-    "QPersistentModelIndex", "QResourceRoot", "QRect", "QRectF", "QRegExp",
-    "QSize", "QSizeF", "QString", "QTime", "QTextBlock", "QUrl", "QVariant",
-    "QXmlStreamAttribute", "QXmlStreamNamespaceDeclaration",
-    "QXmlStreamNotationDeclaration", "QXmlStreamEntityDeclaration"
-])
-
-movableTypes5 = set([
-    "QStringList"
-])
-
-
-
 class DumperBase:
     def __init__(self):
         self.isCdb = False
@@ -473,6 +456,23 @@ class DumperBase:
         except:
             pass
 
+
+    def isKnownMovableType(self, type):
+        if type in (
+                "QBrush", "QBitArray", "QByteArray", "QCustomTypeInfo", "QChar", "QDate",
+                "QDateTime", "QFileInfo", "QFixed", "QFixedPoint", "QFixedSize",
+                "QHashDummyValue", "QIcon", "QImage", "QLine", "QLineF", "QLatin1Char",
+                "QLocale", "QMatrix", "QModelIndex", "QPoint", "QPointF", "QPen",
+                "QPersistentModelIndex", "QResourceRoot", "QRect", "QRectF", "QRegExp",
+                "QSize", "QSizeF", "QString", "QTime", "QTextBlock", "QUrl", "QVariant",
+                "QXmlStreamAttribute", "QXmlStreamNamespaceDeclaration",
+                "QXmlStreamNotationDeclaration", "QXmlStreamEntityDeclaration"
+                ):
+            return True
+
+        return type == "QStringList" and self.qtVersion() >= 0x050000
+
+
 def cleanAddress(addr):
     if addr is None:
         return "<no address>"
diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py
index 8a0bc863659b283bf428e1220558e51fa6c9f36c..914cba7b160def9ac5d8ab78c9a93bff45e5a099 100644
--- a/share/qtcreator/debugger/gdbbridge.py
+++ b/share/qtcreator/debugger/gdbbridge.py
@@ -1415,10 +1415,7 @@ class Dumper(DumperBase):
             return True
         if self.isSimpleType(type):
             return True
-        typeName = self.stripNamespaceFromType(str(type))
-        if typeName in movableTypes:
-            return True
-        return self.qtVersion() >= 0x050000 and typeName in movableTypes5
+        return self.isKnownMovableType(self.stripNamespaceFromType(str(type)))
 
     def putIntItem(self, name, value):
         with SubItem(self, name):
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 79e9ecbd60b20bd2aff3d096f7d712520c3bf7df..b647408982327e7c8acca2c2acfd7d11f01fc8b3 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -574,10 +574,9 @@ class Dumper(DumperBase):
         return format
 
     def isMovableType(self, type):
-        if type.GetTypeClass() in (lldb.eTypeClassBuiltin,
-                lldb.eTypeClassPointer):
+        if type.GetTypeClass() in (lldb.eTypeClassBuiltin, lldb.eTypeClassPointer):
             return True
-        return self.stripNamespaceFromType(type.GetName()) in movableTypes
+        return self.isKnownMovableType(self.stripNamespaceFromType(type.GetName()))
 
     def putIntItem(self, name, value):
         with SubItem(self, name):