diff --git a/maliit-plugins-quick/input-method/minputmethodquick.cpp b/maliit-plugins-quick/input-method/minputmethodquick.cpp
index 6ee95fb..12f920d 100644
--- a/maliit-plugins-quick/input-method/minputmethodquick.cpp
+++ b/maliit-plugins-quick/input-method/minputmethodquick.cpp
@@ -44,6 +44,7 @@
 #include <QGraphicsScene>
 #include <QGraphicsObject>
 #include <QDir>
+#include <QTimer>
 #include <memory>
 
 #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
@@ -307,6 +308,7 @@ void MInputMethodQuick::show()
       const QRegion r(inputMethodArea().toRect());
       d->handleInputMethodAreaUpdate(inputMethodHost(), r);
       d->syncInputMask();
+      QTimer::singleShot(100, this, SLOT(centerMouseOnKeyboard()));
     }
 }
 
@@ -323,6 +325,15 @@ void MInputMethodQuick::hide()
     d->handleInputMethodAreaUpdate(inputMethodHost(), r);
 }
 
+void MInputMethodQuick::centerMouseOnKeyboard()
+{
+    Q_D(MInputMethodQuick);
+    if(d->sipIsInhibited) {
+      return;
+    }
+    QCursor::setPos(d->inputMethodArea.center().x(), d->inputMethodArea.center().y());
+}
+
 void MInputMethodQuick::handleAppOrientationChanged(int angle)
 {
     Q_D(MInputMethodQuick);
diff --git a/maliit-plugins-quick/input-method/minputmethodquick.h b/maliit-plugins-quick/input-method/minputmethodquick.h
index 862b0cf..02e3bac 100644
--- a/maliit-plugins-quick/input-method/minputmethodquick.h
+++ b/maliit-plugins-quick/input-method/minputmethodquick.h
@@ -152,6 +152,7 @@ private:
     MInputMethodQuickPrivate *const d_ptr;
 
 private Q_SLOTS:
+    void centerMouseOnKeyboard();
     //! Propagates change to QML.
     void onSentActionKeyAttributesChanged(const QString &keyId, const MKeyOverride::KeyOverrideAttributes changedAttributes);
 };
