diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt
index fc061d63816aac75240a221c08b5881f573e5c14..d7b15d6690c80a3bcf8a2386e720ddaaff4cca38 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt
@@ -39,7 +39,6 @@ import de.kuschku.quasseldroid.settings.AutoCompleteSettings
 import de.kuschku.quasseldroid.settings.MessageSettings
 import de.kuschku.quasseldroid.ui.chat.input.*
 import de.kuschku.quasseldroid.ui.coresettings.SettingsFragment
-import de.kuschku.quasseldroid.util.compatibility.AndroidCrashFixer
 import de.kuschku.quasseldroid.util.irc.format.IrcFormatDeserializer
 import de.kuschku.quasseldroid.util.irc.format.IrcFormatSerializer
 import de.kuschku.quasseldroid.viewmodel.EditorViewModel
@@ -131,7 +130,7 @@ class AliasItemFragment : SettingsFragment(), SettingsFragment.Savable,
     }
 
     rule?.let { data ->
-      name.setText(AndroidCrashFixer.removeCrashableCharacters(data.name))
+      name.setText(data.name ?: "")
       expansion.setText(formatDeserializer.formatString(data.expansion, true))
     }
 
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt
index 625c40470ba5bda57c138edb2bcfc0fb25e2515b..e1df794a7a8050c599f607d810a6b36388b2cea5 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt
@@ -69,7 +69,7 @@ class AliasListAdapter @Inject constructor(
     notifyItemChanged(index)
   }
 
-  fun indexOf(name: String) = data.map(IAliasManager.Alias::name).indexOf(name)
+  fun indexOf(name: String?) = data.map(IAliasManager.Alias::name).indexOf(name)
 
   fun remove(index: Int) {
     data.removeAt(index)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 336b63168974536d40a6c1f0eb1aa85b7ef20a6a..7e7f849a0eef98f5cda8ebe0b9b0114071b29f94 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -66,6 +66,7 @@
   <string name="label_join_long">Join Channel</string>
   <string name="label_libraries">Libraries</string>
   <string name="label_license">License</string>
+  <string name="label_match_all">Matches all messages</string>
   <string name="label_mark_read">Mark Read</string>
   <string name="label_mention">Mention</string>
   <string name="label_mention_long">Copy username into input line</string>
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt
index 3e26c5bcaebd8c4db46fb771fae29b99e2a8af63..132f1624e4d1f4521300c0a4ef1b348a10693d75 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt
@@ -60,7 +60,7 @@ class AliasManager constructor(
     _aliases = names.zip(expansions, ::Alias).toList()
   }
 
-  override fun addAlias(name: String, expansion: String) {
+  override fun addAlias(name: String?, expansion: String?) {
     if (contains(name)) {
       return
     }
@@ -70,9 +70,9 @@ class AliasManager constructor(
     super.addAlias(name, expansion)
   }
 
-  fun indexOf(name: String) = _aliases.map(Alias::name).indexOf(name)
+  fun indexOf(name: String?) = _aliases.map(Alias::name).indexOf(name)
 
-  fun contains(name: String) = _aliases.map(Alias::name).contains(name)
+  fun contains(name: String?) = _aliases.map(Alias::name).contains(name)
 
   fun defaults() = listOf(
     Alias("j", "/join $0"),
@@ -124,7 +124,7 @@ class AliasManager constructor(
       if (search != null) {
         val found = _aliases.firstOrNull { it.name.equals(search, true) }
         if (found != null) {
-          expand(found.expansion, info, split.getOrNull(1) ?: "", previousCommands)
+          expand(found.expansion ?: "", info, split.getOrNull(1) ?: "", previousCommands)
           return
         }
       }
@@ -138,8 +138,8 @@ class AliasManager constructor(
     val network = proxy.network(bufferInfo.networkId)
 
     val paramRange = Regex("""\$(\d+)\.\.(\d*)""")
-    val commands = expansion.split("; ?".toRegex()).dropLastWhile { it.isEmpty() }
-    val params = msg.split(' ').dropLastWhile({ it.isEmpty() })
+    val commands = expansion.split("; ?".toRegex()).dropLastWhile(String::isEmpty)
+    val params = msg.split(' ').dropLastWhile(String::isEmpty)
     val expandedCommands = LinkedList<String>()
 
     for (i in commands.indices) {
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt
index efb7edefc2daa2ade19e6913ae2b96f36ecf09dd..d45b8d48e80fa537184a73490bee4f0ec785d467 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt
@@ -32,7 +32,7 @@ interface IAliasManager : ISyncableObject {
   fun initAliases(): QVariantMap
   fun initSetAliases(aliases: QVariantMap)
   @Slot
-  fun addAlias(name: String, expansion: String) {
+  fun addAlias(name: String?, expansion: String?) {
     SYNC("addAlias", ARG(name, Type.QString), ARG(expansion, Type.QString))
   }
 
@@ -42,8 +42,8 @@ interface IAliasManager : ISyncableObject {
   }
 
   data class Alias(
-    val name: String,
-    val expansion: String
+    val name: String?,
+    val expansion: String?
   ) : Serializable
 
   data class Command(
diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt
index 29c9e39fb91e7e342d0930d2df94e5e40bd29589..53e44b93b5b593123b8a9f21b8bd54e0dd1f7b17 100644
--- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt
+++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt
@@ -79,9 +79,9 @@ sealed class AutoCompleteItem(open val name: String, val suffix: String, private
   }
 
   data class AliasItem(
-    val alias: String,
-    val expansion: String
-  ) : AutoCompleteItem(alias, " ", 1)
+    val alias: String?,
+    val expansion: String?
+  ) : AutoCompleteItem(alias ?: "", " ", 1)
 
   data class ChannelItem(
     val info: BufferInfo,