diff --git a/src/plugins/fakevim/handler.cpp b/src/plugins/fakevim/handler.cpp
index d277fc026249c96895a9d5899a148e9d0c76722a..a3eef93f96d9f2479b22c8cbae86f0ca600b8d91 100644
--- a/src/plugins/fakevim/handler.cpp
+++ b/src/plugins/fakevim/handler.cpp
@@ -624,8 +624,14 @@ void FakeVimHandler::Private::handleFfTt(int key)
         if (repeat == 0) {
             if (m_subsubdata == 't')
                 --pos;
-            if (m_subsubdata == 'T')
+            else if (m_subsubdata == 'T')
                 ++pos;
+            // FIXME: strange correction...
+            if (m_submode == DeleteSubMode && m_subsubdata == 'f')
+                ++pos;
+            if (m_submode == DeleteSubMode && m_subsubdata == 't')
+                ++pos;
+
             if (forward)
                 m_tc.movePosition(Right, KeepAnchor, pos - m_tc.position());
             else