diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp
index 917eaeadd8d5b6c76f6fdc48c976f39f8f257261..9a90b408c377c6a374d693248b889e1ee43a89c3 100644
--- a/src/quick/items/qquicktext.cpp
+++ b/src/quick/items/qquicktext.cpp
@@ -312,6 +312,8 @@ qreal QQuickTextPrivate::getImplicitHeight() const
     not require advanced features such as transformation of the text. Using such features in
     combination with the NativeRendering render type will lend poor and sometimes pixelated
     results.
+
+    On HighDpi "retina" displays this property is ignored and QtRendering is always used.
 */
 QQuickText::RenderType QQuickText::renderType() const
 {
@@ -2234,7 +2236,7 @@ QSGNode *QQuickText::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data
         node = static_cast<QQuickTextNode *>(oldNode);
     }
 
-    node->setUseNativeRenderer(d->renderType == NativeRendering);
+    node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1);
     node->deleteContent();
     node->setMatrix(QMatrix4x4());
 
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp
index cf20b1d4e7ba55dae5718aff66e4f0e5f99f3577..506b4caa52866e460f7cf7a11e6df2603b3b07ed 100644
--- a/src/quick/items/qquicktextedit.cpp
+++ b/src/quick/items/qquicktextedit.cpp
@@ -368,6 +368,8 @@ void QQuickTextEdit::setTextFormat(TextFormat format)
     not require advanced features such as transformation of the text. Using such features in
     combination with the NativeRendering render type will lend poor and sometimes pixelated
     results.
+
+    On HighDpi "retina" displays this property is ignored and QtRendering is always used.
 */
 QQuickTextEdit::RenderType QQuickTextEdit::renderType() const
 {
@@ -1741,7 +1743,7 @@ QSGNode *QQuickTextEdit::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *
 
 
         QQuickTextNode *node = new QQuickTextNode(QQuickItemPrivate::get(this)->sceneGraphContext(), this);
-        node->setUseNativeRenderer(d->renderType == NativeRendering);
+        node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1);
         node->initEngine(d->color, d->selectedTextColor, d->selectionColor);
 
 
@@ -1805,7 +1807,7 @@ QSGNode *QQuickTextEdit::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *
                         rootNode->appendChildNode(node);
                         prevBlockStart = block.next().position();
                         node = new QQuickTextNode(QQuickItemPrivate::get(this)->sceneGraphContext(), this);
-                        node->setUseNativeRenderer(d->renderType == NativeRendering);
+                        node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1);
                         node->initEngine(d->color, d->selectedTextColor, d->selectionColor);
                     }
                 }
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 58cc68495c074d0aab80be34d111566f72e08b9b..52f991b47514a56a69645c6f196df7474a808460 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -153,6 +153,8 @@ void QQuickTextInput::setText(const QString &s)
     not require advanced features such as transformation of the text. Using such features in
     combination with the NativeRendering render type will lend poor and sometimes pixelated
     results.
+
+    On HighDpi "retina" displays this property is ignored and QtRendering is always used.
 */
 QQuickTextInput::RenderType QQuickTextInput::renderType() const
 {
@@ -1836,7 +1838,7 @@ QSGNode *QQuickTextInput::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData
             }
         }
     } else {
-        node->setUseNativeRenderer(d->renderType == QQuickTextInput::NativeRendering);
+        node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1);
         node->deleteContent();
         node->setMatrix(QMatrix4x4());