diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp
index 22931061e146d466394d15d19e38d92367de61e7..d3b32c89e8b7e5768b4ba902d0bfcec811d38af9 100644
--- a/src/libs/qmljs/qmljsinterpreter.cpp
+++ b/src/libs/qmljs/qmljsinterpreter.cpp
@@ -803,6 +803,14 @@ const Value *QmlObjectValue::propertyValue(const FakeMetaProperty &prop) const
         object->setProperty("x", engine()->numberValue());
         object->setProperty("y", engine()->numberValue());
         value = object;
+    } else if (typeName == QLatin1String("QSize")
+            || typeName == QLatin1String("QSizeF")) {
+        // ### cache
+        ObjectValue *object = engine()->newObject(/*prototype =*/ 0);
+        object->setClassName(QLatin1String("Size"));
+        object->setProperty("width", engine()->numberValue());
+        object->setProperty("height", engine()->numberValue());
+        value = object;
     } else if (typeName == QLatin1String("QRect")
             || typeName == QLatin1String("QRectF")) {
         // ### cache