diff --git a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard-b2qt.qml b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard-b2qt.qml
index cdb18b976bd9a043c7e93d6ea588f2b746ffe017..50cf5d4bf6749a7b412dda67b3901becc287c31e 100644
--- a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard-b2qt.qml
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard-b2qt.qml
@@ -124,6 +124,7 @@ Item {
                     }
                 }
             }
+            AutoScroller {}
         }
     }
 }
diff --git a/src/virtualkeyboard/content/components/AutoScroller.qml b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/AutoScroller.qml
similarity index 95%
rename from src/virtualkeyboard/content/components/AutoScroller.qml
rename to examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/AutoScroller.qml
index 7d7202f8b11666960b6304ba31c8f4c60dbccd63..33aab92a41bf80412afe632fc26b1a16024889ac 100644
--- a/src/virtualkeyboard/content/components/AutoScroller.qml
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/AutoScroller.qml
@@ -29,6 +29,8 @@ Item {
     property var inputItem: InputContext.inputItem
 
     onInputItemChanged: {
+        innerFlickable = null
+        outerFlickable = null
         if (inputItem !== null) {
             var parent_ = inputItem.parent
             while (parent_) {
@@ -86,12 +88,12 @@ Item {
     }
     Connections {
         ignoreUnknownSignals: true
-        target: InputContext.inputItem && Qt.inputMethod.animating ? Qt.inputMethod : null
+        target: inputItem && !Qt.inputMethod.animating ? Qt.inputMethod : null
         onKeyboardRectangleChanged: delayedLoading.triggered()
     }
     Connections {
         ignoreUnknownSignals: true
-        target: InputContext.inputItem && InputContext.inputItem.activeFocus ? InputContext.inputItem : null
+        target: inputItem && inputItem.activeFocus ? inputItem : null
         onCursorRectangleChanged: delayedLoading.triggered()
     }
 }
diff --git a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/demo.qrc b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/demo.qrc
index bcb4a9d4ef5a2009377cb334daa8427ed5dad1f0..92258cbb1bd78ed7fac2a80022f5b7efb7ee31c5 100644
--- a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/demo.qrc
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/demo.qrc
@@ -2,6 +2,7 @@
     <qresource prefix="/">
         <file>VirtualKeyboard-b2qt.qml</file>
         <file>VirtualKeyboard.qml</file>
+        <file>content/AutoScroller.qml</file>
         <file>content/ScrollBar.qml</file>
         <file>content/TextArea.qml</file>
         <file>content/TextBase.qml</file>
diff --git a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/virtualkeyboard.pro b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/virtualkeyboard.pro
index b8396bdf635e571669cf4352e5577414406a5ea2..28cc4dcca6d2d9e0782b839aa355cfb973141fd7 100644
--- a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/virtualkeyboard.pro
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/virtualkeyboard.pro
@@ -21,6 +21,7 @@ RESOURCES += \
 OTHER_FILES += \
     VirtualKeyboard.qml \
     VirtualKeyboard-b2qt.qml \
+    content/AutoScroller.qml \
     content/HandwritingModeButton.qml \
     content/ScrollBar.qml \
     content/TextArea.qml \
diff --git a/src/virtualkeyboard/content/InputPanel.qml b/src/virtualkeyboard/content/InputPanel.qml
index 6f4c6fb336e0093ba1d248eef7187183765e2f09..84d2832d48bd1db12635c29561932d7a3fe9c8fb 100644
--- a/src/virtualkeyboard/content/InputPanel.qml
+++ b/src/virtualkeyboard/content/InputPanel.qml
@@ -56,7 +56,6 @@ Item {
         anchors.right: parent.right
         anchors.bottom: parent.bottom
     }
-    AutoScroller { }
     MouseArea {
         z: -1
         anchors.fill: keyboard
diff --git a/src/virtualkeyboard/content/content.qrc b/src/virtualkeyboard/content/content.qrc
index ee406a735b0a5d9dc706584c97a565db4ff4c02d..35375564515c3836b8a0100987d8a601a8f67d85 100644
--- a/src/virtualkeyboard/content/content.qrc
+++ b/src/virtualkeyboard/content/content.qrc
@@ -3,7 +3,6 @@
         <file>InputPanel.qml</file>
         <file>HandwritingInputPanel.qml</file>
         <file>components/AlternativeKeys.qml</file>
-        <file>components/AutoScroller.qml</file>
         <file>components/BackspaceKey.qml</file>
         <file>components/BaseKey.qml</file>
         <file>components/ChangeLanguageKey.qml</file>
diff --git a/src/virtualkeyboard/doc/src/deployment-guide.qdoc b/src/virtualkeyboard/doc/src/deployment-guide.qdoc
index 8ccfae6ef8e87be20cf4a61a3fd33e32797f4d21..b05147e4b947647f1fa3a3412fc66b8634d0006b 100644
--- a/src/virtualkeyboard/doc/src/deployment-guide.qdoc
+++ b/src/virtualkeyboard/doc/src/deployment-guide.qdoc
@@ -136,7 +136,4 @@ as it would then overlap with the contents of the application. Also, the
 input panel height will be automatically updated according to the available
 width; the aspect ratio of the input panel is constant.
 
-If the application contains Flickable elements, they will be automatically
-scrolled to the focused element.
-
 */
diff --git a/src/virtualkeyboard/plugin.cpp b/src/virtualkeyboard/plugin.cpp
index db5ab90ecb5f0457b2099079fc7f2dd1356b498d..8acbb64e03cf2834c07180a3c862acdb3b39a94f 100644
--- a/src/virtualkeyboard/plugin.cpp
+++ b/src/virtualkeyboard/plugin.cpp
@@ -184,8 +184,6 @@ QPlatformInputContext *QVirtualKeyboardPlugin::create(const QString &system, con
     const QString componentsPath = path + QStringLiteral("components/");
     qmlRegisterType(QUrl(componentsPath + QLatin1String("AlternativeKeys.qml")), pluginUri, 1, 0, "AlternativeKeys");
     qmlRegisterType(QUrl(componentsPath + QLatin1String("AlternativeKeys.qml")), pluginUri, 2, 0, "AlternativeKeys");
-    qmlRegisterType(QUrl(componentsPath + QLatin1String("AutoScroller.qml")), pluginUri, 1, 0, "AutoScroller");
-    qmlRegisterType(QUrl(componentsPath + QLatin1String("AutoScroller.qml")), pluginUri, 2, 0, "AutoScroller");
     qmlRegisterType(QUrl(componentsPath + QLatin1String("BackspaceKey.qml")), pluginUri, 1, 0, "BackspaceKey");
     qmlRegisterType(QUrl(componentsPath + QLatin1String("BackspaceKey.qml")), pluginUri, 2, 0, "BackspaceKey");
     qmlRegisterType(QUrl(componentsPath + QLatin1String("BaseKey.qml")), pluginUri, 1, 0, "BaseKey");