diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt
index 4b0b8bdfdd907e1fe2de4311e9ab8b8dbd29e76a..98c1dbe6999916354d61afa5b0467e0b15abb7f7 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt
@@ -155,6 +155,7 @@ class ChatlineFragment : ServiceBoundFragment() {
       chatline.setText("")
     }
 
+    editorHelper.setOnEnterListener(::send)
     send.setOnClickListener { send() }
 
     tabComplete.visibleIf(autoCompleteSettings.button)
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/EditorHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/EditorHelper.kt
index a16dd2f1e409dd428baa700d1cf55ffa4cc6c565..2deefe127386ee1e8979550f63d1bc665cf3a560 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/EditorHelper.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/EditorHelper.kt
@@ -48,13 +48,10 @@ class EditorHelper(
       val previous = autoCompleteHelper.autoCompletionState
       val next = if (previous != null && s != null) {
         val suffix = if (previous.range.start == 0) ": " else " "
-        val end = Math.min(
-          s.length, previous.range.start + previous.completion.name.length + suffix.length
-        )
-        val sequence = if (end < previous.range.start) ""
-        else s.substring(previous.range.start, end)
+        val sequence = if (s.length < previous.range.start) ""
+        else s.substring(previous.range.start)
         if (sequence == previous.completion.name + suffix) {
-          previous.originalWord to (previous.range.start until end)
+          previous.originalWord to (previous.range.start until s.length)
         } else {
           autoCompleteHelper.autoCompletionState = null
           s.lastWordIndices(editText.selectionStart, onlyBeforeCursor = true)?.let { indices ->
@@ -167,6 +164,10 @@ class EditorHelper(
     }.fold(0, Int::or)
   }
 
+  fun setOnEnterListener(listener: (() -> Unit)?) {
+    this.enterListener = listener
+  }
+
   fun setMultiLine(enabled: Boolean) = editText.setMultiLine(enabled)
 
   fun replaceText(text: CharSequence?) = editText.replace(text)