diff --git a/src/quick/items/qquickloader.cpp b/src/quick/items/qquickloader.cpp
index 8a597953cc422d25dfb5b6fe803b76964ddf8ff3..f3f428c1a8ae1c065584b1475244b55e996ac569 100644
--- a/src/quick/items/qquickloader.cpp
+++ b/src/quick/items/qquickloader.cpp
@@ -571,15 +571,15 @@ void QQuickLoader::setSource(QQmlV4Function *args)
 
     bool ipvError = false;
     args->setReturnValue(QV4::Value::undefinedValue());
-    v8::Handle<v8::Object> ipv = d->extractInitialPropertyValues(args, this, &ipvError);
+    QV4::Value ipv = d->extractInitialPropertyValues(args, this, &ipvError);
     if (ipvError)
         return;
 
     d->clear();
     QUrl sourceUrl = d->resolveSourceUrl(args);
-    if (!ipv.IsEmpty()) {
+    if (!ipv.isEmpty()) {
         d->disposeInitialPropertyValues();
-        d->initialPropertyValues = ipv->v4Value();
+        d->initialPropertyValues = ipv;
         d->qmlGlobalForIpv = args->qmlGlobal();
     }
 
@@ -933,17 +933,17 @@ QUrl QQuickLoaderPrivate::resolveSourceUrl(QQmlV4Function *args)
     return context->resolvedUrl(QUrl(arg));
 }
 
-v8::Handle<v8::Object> QQuickLoaderPrivate::extractInitialPropertyValues(QQmlV4Function *args, QObject *loader, bool *error)
+QV4::Value QQuickLoaderPrivate::extractInitialPropertyValues(QQmlV4Function *args, QObject *loader, bool *error)
 {
-    v8::Handle<v8::Object> valuemap;
+    QV4::Value valuemap = QV4::Value::emptyValue();
     if (args->length() >= 2) {
-        v8::Handle<v8::Value> v = (*args)[1];
-        if (!v->IsObject() || v->IsArray()) {
+        QV4::Value v = (*args)[1];
+        if (!v.isObject() || v.asArrayObject()) {
             *error = true;
             qmlInfo(loader) << QQuickLoader::tr("setSource: value is not an object");
         } else {
             *error = false;
-            valuemap = v8::Handle<v8::Object>::Cast(v);
+            valuemap = v;
         }
     }
 
diff --git a/src/quick/items/qquickloader_p_p.h b/src/quick/items/qquickloader_p_p.h
index 82b78ed25db7f502c0b0bf84d0ef50d61dbfbf99..0f3bdc8811fb3ed18f0fdc1e752da01af329e13a 100644
--- a/src/quick/items/qquickloader_p_p.h
+++ b/src/quick/items/qquickloader_p_p.h
@@ -99,7 +99,7 @@ public:
     void setInitialState(QObject *o);
     void disposeInitialPropertyValues();
     QUrl resolveSourceUrl(QQmlV4Function *args);
-    v8::Handle<v8::Object> extractInitialPropertyValues(QQmlV4Function *args, QObject *loader, bool *error);
+    QV4::Value extractInitialPropertyValues(QQmlV4Function *args, QObject *loader, bool *error);
 
     virtual qreal getImplicitWidth() const;
     virtual qreal getImplicitHeight() const;
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 5e1b786e1789c4763570280fa58b6b65a0fc4e5d..989c0db3ab23dcc1bcf686c583a23a9a80d3b61c 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -1411,17 +1411,17 @@ void QQuickTextInput::positionAt(QQmlV4Function *args) const
         return;
 
     int i = 0;
-    v8::Handle<v8::Value> arg = (*args)[i];
-    x = arg->NumberValue();
+    QV4::Value arg = (*args)[i];
+    x = arg.toNumber();
 
     if (++i < args->length()) {
         arg = (*args)[i];
-        y = arg->NumberValue();
+        y = arg.toNumber();
     }
 
     if (++i < args->length()) {
         arg = (*args)[i];
-        position = QTextLine::CursorPosition(arg->Int32Value());
+        position = QTextLine::CursorPosition(arg.toInt32());
     }
 
     int pos = d->positionAt(x, y, position);