diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp
index cbb58d1e4e58cefb01f842cb26de84757e0544d6..a0ffd18e9ee23eaebfbd316e93c8d92fea688f81 100644
--- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp
@@ -374,6 +374,18 @@ void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentIn
         addToNewProperty(object(), newParentInstance->object(), newParentProperty);
     }
 }
+QVariant ObjectNodeInstance::convertSpecialCharacter(const QVariant& value) const
+{
+    QVariant specialCharacterConvertedValue = value;
+    if (value.type() == QVariant::String) {
+        QString string = value.toString();
+        string.replace(QLatin1String("\\n"), QLatin1String("\n"));
+        string.replace(QLatin1String("\\t"), QLatin1String("\t"));
+        specialCharacterConvertedValue = string;
+    }
+
+    return specialCharacterConvertedValue;
+}
 
 void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant &value)
 {
@@ -394,7 +406,7 @@ void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant
         QDeclarativePropertyPrivate::setBinding(property, 0, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
     }
 
-    bool isWritten = property.write(value);
+    bool isWritten = property.write(convertSpecialCharacter(value));
 
     if (!isWritten)
         qDebug() << "ObjectNodeInstance.setPropertyVariant: Cannot be written: " << object() << name << value;
diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
index 68198df19081391c08ce428946fd7e5af7d02ad1..b0f19edc7bc15d2e6ef1e105ef36ecc3c5ccc2e6 100644
--- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
+++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
@@ -191,6 +191,7 @@ protected:
     void removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty);
     void addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty);
     void deleteObjectsInList(const QDeclarativeProperty &metaProperty);
+    QVariant convertSpecialCharacter(const QVariant& value) const;
 
 private:
     QHash<QString, QVariant> m_resetValueHash;