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);
};