diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
index 5cdbe638ad0ca5f04186b7c9f6d29bd2ac93661c..0af0dc4077f2661af288ebf3fab4d2dfcce78f86 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
@@ -77,6 +77,9 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
   @Inject
   lateinit var ircFormatDeserializer: IrcFormatDeserializer
 
+  @Inject
+  lateinit var autoCompleteAdapter: AutoCompleteAdapter
+
   private lateinit var drawerToggle: ActionBarDrawerToggle
 
   private var chatlineFragment: ChatlineFragment? = null
@@ -141,12 +144,12 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
 
     if (autoCompleteSettings.prefix || autoCompleteSettings.auto) {
       chatlineFragment?.let {
-        val autocompleteAdapter = AutoCompleteAdapter(messageSettings, it.chatline::autoComplete)
+        autoCompleteAdapter.setOnClickListener(it.chatline::autoComplete)
         autoCompleteList.layoutManager = LinearLayoutManager(it.activity)
         autoCompleteList.itemAnimator = DefaultItemAnimator()
-        autoCompleteList.adapter = autocompleteAdapter
+        autoCompleteList.adapter = autoCompleteAdapter
         it.autoCompleteHelper.setDataListener {
-          autocompleteAdapter.submitList(it)
+          autoCompleteAdapter.submitList(it)
         }
       }
     }
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteAdapter.kt
index d7a59d77cb6999164a837a986259ce4332498ba1..3ae0304fbdd4f05b50c16183d18273a8965cc975 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteAdapter.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteAdapter.kt
@@ -18,10 +18,10 @@ import de.kuschku.quasseldroid.util.helper.*
 import de.kuschku.quasseldroid.util.ui.SpanFormatter
 import de.kuschku.quasseldroid.viewmodel.data.AutoCompleteItem
 import de.kuschku.quasseldroid.viewmodel.data.BufferStatus
+import javax.inject.Inject
 
-class AutoCompleteAdapter(
-  private val messageSettings: MessageSettings,
-  private val clickListener: ((String) -> Unit)? = null
+class AutoCompleteAdapter @Inject constructor(
+  private val messageSettings: MessageSettings
 ) : ListAdapter<AutoCompleteItem, AutoCompleteAdapter.AutoCompleteViewHolder>(
   object : DiffUtil.ItemCallback<AutoCompleteItem>() {
     override fun areItemsTheSame(oldItem: AutoCompleteItem, newItem: AutoCompleteItem) =
@@ -30,6 +30,11 @@ class AutoCompleteAdapter(
     override fun areContentsTheSame(oldItem: AutoCompleteItem, newItem: AutoCompleteItem) =
       oldItem == newItem
   }) {
+  private var clickListener: ((String) -> Unit)? = null
+
+  fun setOnClickListener(listener: ((String) -> Unit)?) {
+    this.clickListener = listener
+  }
 
   override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = when (viewType) {
     VIEWTYPE_CHANNEL                         -> AutoCompleteViewHolder.ChannelViewHolder(
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 19d19b30e35b51ea14a529a22963558d9791c3ca..66898e472faa57fecdd859811b35cff2799dfc55 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
@@ -63,6 +63,9 @@ class ChatlineFragment : ServiceBoundFragment() {
   @Inject
   lateinit var ircFormatSerializer: IrcFormatSerializer
 
+  @Inject
+  lateinit var autoCompleteAdapter: AutoCompleteAdapter
+
   lateinit var editorHelper: EditorHelper
 
   lateinit var autoCompleteHelper: AutoCompleteHelper
@@ -145,12 +148,12 @@ class ChatlineFragment : ServiceBoundFragment() {
     editorViewModel.lastWord.onNext(editorHelper.lastWord)
 
     if (autoCompleteSettings.prefix || autoCompleteSettings.auto) {
-      val autocompleteAdapter = AutoCompleteAdapter(messageSettings, chatline::autoComplete)
+      autoCompleteAdapter.setOnClickListener(chatline::autoComplete)
       autoCompleteList.layoutManager = LinearLayoutManager(activity)
       autoCompleteList.itemAnimator = DefaultItemAnimator()
-      autoCompleteList.adapter = autocompleteAdapter
+      autoCompleteList.adapter = autoCompleteAdapter
       autoCompleteHelper.setDataListener {
-        autocompleteAdapter.submitList(it)
+        autoCompleteAdapter.submitList(it)
       }
     }
 
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt
index 306a8207a4f184bd094e1409d00558fd84bdfbdb..530a75e664f9ced304d7d74ce9292f39f561039e 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt
@@ -110,8 +110,8 @@ class QuasselMessageRenderer @Inject constructor(
     }
 
     viewHolder.avatar?.visibleIf(!isFollowUp)
-    avatarContainer?.visibleIf(messageSettings.showAvatars)
-    avatarPlaceholder?.visibleIf(messageSettings.showAvatars)
+    avatarContainer?.visibleIf(messageSettings.showAvatars && messageSettings.nicksOnNewLine)
+    avatarPlaceholder?.visibleIf(messageSettings.showAvatars && messageSettings.nicksOnNewLine)
     val separateLine = viewHolder.content != null && viewHolder.name != null && messageSettings.nicksOnNewLine
     viewHolder.name?.visibleIf(separateLine && !isFollowUp)
     viewHolder.content?.visibleIf(separateLine)
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt
index 4e1fdf20376cc842fa8f2ee40b8e65e31ed4ea58..ec33b8f4f15b599ef16ada77e87de29ff796e700 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/topic/TopicFragment.kt
@@ -50,6 +50,9 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable {
   @Inject
   lateinit var formatSerializer: IrcFormatSerializer
 
+  @Inject
+  lateinit var autoCompleteAdapter: AutoCompleteAdapter
+
   private lateinit var editorHelper: EditorHelper
 
   private lateinit var mircColorMap: Map<Int, Int>
@@ -124,12 +127,12 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable {
     editorViewModel.lastWord.onNext(editorHelper.lastWord)
 
     if (autoCompleteSettings.prefix || autoCompleteSettings.auto) {
-      val autocompleteAdapter = AutoCompleteAdapter(messageSettings, chatline::autoComplete)
+      autoCompleteAdapter.setOnClickListener(chatline::autoComplete)
       autoCompleteList.layoutManager = LinearLayoutManager(activity)
       autoCompleteList.itemAnimator = DefaultItemAnimator()
-      autoCompleteList.adapter = autocompleteAdapter
+      autoCompleteList.adapter = autoCompleteAdapter
       autoCompleteHelper.setDataListener {
-        autocompleteAdapter.submitList(it)
+        autoCompleteAdapter.submitList(it)
       }
     }
 
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 77e591833ac0e5b06967992dc674748ab3181413..975c430fda0aa9531fdc24e5b3a03b501cbab8a4 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
@@ -1,21 +1,19 @@
 package de.kuschku.quasseldroid.util.irc.format
 
 import android.graphics.Typeface
-import android.support.annotation.ColorInt
 import android.text.Spanned
 import android.text.style.*
 import java.util.*
 import javax.inject.Inject
 
 class IrcFormatSerializer @Inject constructor() {
-  fun toEscapeCodes(@ColorInt colorForegroundMirc: Int, mircColorMap: Map<Int, Int>,
-                    text: Spanned): String {
+  fun toEscapeCodes(colorForegroundMirc: Int, mircColorMap: Map<Int, Int>, text: Spanned): String {
     val out = StringBuilder()
     withinParagraph(colorForegroundMirc, mircColorMap, out, text, 0, text.length)
     return out.toString()
   }
 
-  private fun withinParagraph(@ColorInt colorForegroundMirc: Int, mircColorMap: Map<Int, Int>,
+  private fun withinParagraph(colorForegroundMirc: Int, mircColorMap: Map<Int, Int>,
                               out: StringBuilder, text: Spanned, start: Int, end: Int) {
     fun writeBold() {
       out.append(CODE_BOLD)
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 9d37ce55f7f7dd4df86c8af022eecbf5c0d59f78..2bbe913cac78683217323c648474e53d4a1ce596 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -70,19 +70,6 @@
 
     <SwitchPreference
       android:defaultValue="true"
-      android:key="@string/preference_nicks_on_new_line_key"
-      android:summary="@string/preference_nicks_on_new_line_summary"
-      android:title="@string/preference_nicks_on_new_line_title" />
-
-    <SwitchPreference
-      android:defaultValue="true"
-      android:dependency="@string/preference_nicks_on_new_line_key"
-      android:key="@string/preference_show_realnames_key"
-      android:title="@string/preference_show_realnames_title" />
-
-    <SwitchPreference
-      android:defaultValue="true"
-      android:dependency="@string/preference_nicks_on_new_line_key"
       android:key="@string/preference_show_avatars_key"
       android:title="@string/preference_show_avatars_title" />
 
@@ -98,6 +85,18 @@
       android:key="@string/preference_show_gravatar_avatars_key"
       android:title="@string/preference_show_gravatar_avatars_title" />
 
+    <SwitchPreference
+      android:defaultValue="true"
+      android:key="@string/preference_nicks_on_new_line_key"
+      android:summary="@string/preference_nicks_on_new_line_summary"
+      android:title="@string/preference_nicks_on_new_line_title" />
+
+    <SwitchPreference
+      android:defaultValue="true"
+      android:dependency="@string/preference_nicks_on_new_line_key"
+      android:key="@string/preference_show_realnames_key"
+      android:title="@string/preference_show_realnames_title" />
+
     <SwitchPreference
       android:defaultValue="false"
       android:key="@string/preference_hostmask_actions_key"