diff --git a/src/controls/Private/TextInputWithHandles.qml b/src/controls/Private/TextInputWithHandles.qml
index ceb63084f5f2f3a99eb4d23e52a50df9d7de2238..d19dda31da94b873c6ea8264e10763fd90fdc466 100644
--- a/src/controls/Private/TextInputWithHandles.qml
+++ b/src/controls/Private/TextInputWithHandles.qml
@@ -54,7 +54,7 @@ TextInput {
     property alias editMenu: editMenu
     cursorDelegate: __style && __style.__cursorDelegate ? __style.__cursorDelegate : null
 
-    selectByMouse: control.selectByMouse && (!cursorHandle.delegate || !selectionHandle.delegate)
+    selectByMouse: control.selectByMouse && (!Settings.isMobile || !cursorHandle.delegate || !selectionHandle.delegate)
 
     // force re-evaluation when selection moves:
     // - cursorRectangle changes => content scrolled
@@ -137,7 +137,7 @@ TextInput {
         editor: input
         parent: control
         control: input.control
-        active: control.selectByMouse
+        active: control.selectByMouse && Settings.isMobile
         maximum: cursorHandle.position - 1
 
         property var mappedPos: parent.mapFromItem(editor, editor.selectionRectangle.x, editor.selectionRectangle.y)
@@ -163,7 +163,7 @@ TextInput {
         editor: input
         parent: control
         control: input.control
-        active: control.selectByMouse
+        active: control.selectByMouse && Settings.isMobile
         minimum: input.hasSelection ? selectionHandle.position + 1 : -1
 
         property var mappedPos: parent.mapFromItem(editor, editor.cursorRectangle.x, editor.cursorRectangle.y)
diff --git a/src/controls/TextArea.qml b/src/controls/TextArea.qml
index 8cfb6dfdf4ed52165a5e440358251d7a64b57e29..b8ed0ba2c6c5faeefb5f54f739636d860fc7dc07 100644
--- a/src/controls/TextArea.qml
+++ b/src/controls/TextArea.qml
@@ -770,7 +770,7 @@ ScrollView {
             wrapMode: TextEdit.WordWrap
             textMargin: __style && __style.textMargin !== undefined ? __style.textMargin : 4
 
-            selectByMouse: area.selectByMouse && (!cursorHandle.delegate || !selectionHandle.delegate)
+            selectByMouse: area.selectByMouse && (!Settings.isMobile || !cursorHandle.delegate || !selectionHandle.delegate)
             readOnly: false
 
             Keys.forwardTo: area
@@ -885,7 +885,7 @@ ScrollView {
                 control: area
                 z: 1 // above scrollbars
                 parent:  Qt.platform.os === "ios"  ? editor : __scroller // no clip
-                active: area.selectByMouse
+                active: area.selectByMouse && Settings.isMobile
                 delegate: __style.__selectionHandle
                 maximum: cursorHandle.position - 1
 
@@ -921,7 +921,7 @@ ScrollView {
                 control: area
                 z: 1 // above scrollbars
                 parent:  Qt.platform.os === "ios"  ? editor : __scroller // no clip
-                active: area.selectByMouse
+                active: area.selectByMouse && Settings.isMobile
                 delegate: __style.__cursorHandle
                 minimum: edit.hasSelection ? selectionHandle.position + 1 : -1