diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt
index b5b2d0750f500852aa8fe240515678b279da2c99..0c4beb466059c60693d7ea10c39cf5c6066cb2e4 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt
@@ -125,23 +125,6 @@ class Editor(
       send()
     }
 
-    chatline.setOnKeyListener { _, keyCode, event ->
-      when (keyCode) {
-        KeyEvent.KEYCODE_ENTER,
-        KeyEvent.KEYCODE_NUMPAD_ENTER -> if (event.hasNoModifiers()) {
-          send()
-          true
-        } else {
-          false
-        }
-        KeyEvent.KEYCODE_TAB          -> {
-          autoComplete(event.isShiftPressed)
-          true
-        }
-        else                          -> false
-      }
-    }
-
     chatline.imeOptions = when (appearanceSettings.inputEnter) {
       AppearanceSettings.InputEnterMode.EMOJI -> listOf(
         EditorInfo.IME_ACTION_NONE,
@@ -286,7 +269,20 @@ class Editor(
           true
         }
         else               -> false
-      } else false
+      } else when (keyCode) {
+        KeyEvent.KEYCODE_ENTER,
+        KeyEvent.KEYCODE_NUMPAD_ENTER -> if (event.isShiftPressed) {
+          false
+        } else {
+          send()
+          true
+        }
+        KeyEvent.KEYCODE_TAB          -> {
+          autoComplete(event.isShiftPressed)
+          true
+        }
+        else                          -> false
+      }
     }
   }
 
diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt
index 267659da86601da17228d26b79d47a17b2d528a7..f554edfcb1ccd8a99e0e3b7a187cc110aef21cb9 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt
@@ -187,8 +187,14 @@ class IrcFormatSerializer @Inject constructor(private val context: Context) {
           } else {
             writeColor(afterForegroundCode, afterBackgroundCode)
           }
-        } else {
+        } else if (afterForeground != null || afterBackground != null) {
           writeHexColor(afterForeground, afterBackground)
+        } else {
+          if (foregroundCode != null || backgroundCode != null) {
+            writeColor(afterForeground, afterBackground)
+          } else {
+            writeHexColor(afterForeground, afterBackground)
+          }
         }
       }