diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt
index 688beaa65b0d1372dbcc110324dbef876cff8f36..0e0f2998c5e8f0eff822835a38ae8d2e06f06527 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt
@@ -28,9 +28,9 @@ class QuasselMessageRenderer(context: Context) : MessageRenderer {
   init {
     context.theme.styledAttributes(
       R.attr.senderColor0, R.attr.senderColor1, R.attr.senderColor2, R.attr.senderColor3,
-        R.attr.senderColor4, R.attr.senderColor5, R.attr.senderColor6, R.attr.senderColor7,
-        R.attr.senderColor8, R.attr.senderColor9, R.attr.senderColorA, R.attr.senderColorB,
-        R.attr.senderColorC, R.attr.senderColorD, R.attr.senderColorE, R.attr.senderColorF
+      R.attr.senderColor4, R.attr.senderColor5, R.attr.senderColor6, R.attr.senderColor7,
+      R.attr.senderColor8, R.attr.senderColor9, R.attr.senderColorA, R.attr.senderColorB,
+      R.attr.senderColorC, R.attr.senderColorD, R.attr.senderColorE, R.attr.senderColorF
     ) {
       senderColors = IntArray(16) {
         getColor(it, 0)
@@ -40,8 +40,10 @@ class QuasselMessageRenderer(context: Context) : MessageRenderer {
 
   override fun layout(type: Message_Type?, hasHighlight: Boolean)
     = when (type) {
-    Nick, Notice, Mode, Join, Part, Quit, Kick, Kill, Server, Info, DayChange, Topic, NetsplitJoin,
-    NetsplitQuit, Invite -> R.layout.widget_chatmessage_server
+    Nick, Mode, Join, Part, Quit, Kick, Kill, Info, DayChange, Topic, NetsplitJoin,
+    NetsplitQuit, Invite -> R.layout.widget_chatmessage_info
+    Notice               -> R.layout.widget_chatmessage_notice
+    Server               -> R.layout.widget_chatmessage_server
     Error                -> R.layout.widget_chatmessage_error
     Action               -> R.layout.widget_chatmessage_action
     Plain                -> R.layout.widget_chatmessage_plain
@@ -65,8 +67,8 @@ class QuasselMessageRenderer(context: Context) : MessageRenderer {
   }
 
   override fun render(message: QuasselDatabase.DatabaseMessage): FormattedMessage {
-    when (message.type) {
-      else -> return FormattedMessage(
+    return when (message.type) {
+      Message_Type.Plain.bit  -> FormattedMessage(
         message.messageId,
         timeFormatter.format(message.time.atZone(zoneId)),
         SpanFormatter.format(
@@ -76,6 +78,95 @@ class QuasselMessageRenderer(context: Context) : MessageRenderer {
           message.content
         )
       )
+      Message_Type.Action.bit -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "* %s%s %s",
+          message.senderPrefixes,
+          formatNick(message.sender),
+          message.content
+        )
+      )
+      Message_Type.Notice.bit -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "[%s%s] %s",
+          message.senderPrefixes,
+          formatNick(message.sender),
+          message.content
+        )
+      )
+      Message_Type.Nick.bit   -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "%s%s is now known as %s%s",
+          message.senderPrefixes,
+          formatNick(message.sender),
+          message.senderPrefixes,
+          formatNick(message.content)
+        )
+      )
+      Message_Type.Join.bit   -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "%s%s joined",
+          message.senderPrefixes,
+          formatNick(message.sender)
+        )
+      )
+      Message_Type.Part.bit   -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "%s%s left: %s",
+          message.senderPrefixes,
+          formatNick(message.sender),
+          message.content
+        )
+      )
+      Message_Type.Quit.bit   -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "%s%s quit: %s",
+          message.senderPrefixes,
+          formatNick(message.sender),
+          message.content
+        )
+      )
+      Message_Type.Server.bit,
+      Message_Type.Info.bit,
+      Message_Type.Error.bit  -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "%s",
+          message.content
+        )
+      )
+      Message_Type.Topic.bit  -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "%s",
+          message.content
+        )
+      )
+      else                    -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          "[%d] %s%s: %s",
+          message.type,
+          message.senderPrefixes,
+          formatNick(message.sender),
+          message.content
+        )
+      )
     }
   }
 
diff --git a/app/src/main/res/layout/widget_chatmessage_info.xml b/app/src/main/res/layout/widget_chatmessage_info.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0530deda022afcb52be68fbfac8f03b929c76780
--- /dev/null
+++ b/app/src/main/res/layout/widget_chatmessage_info.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="wrap_content"
+  android:background="?attr/colorBackgroundSecondary"
+  android:clickable="true"
+  android:focusable="true"
+  android:gravity="top"
+  android:orientation="horizontal"
+  android:paddingBottom="@dimen/message_vertical"
+  android:paddingEnd="@dimen/message_horizontal"
+  android:paddingLeft="@dimen/message_horizontal"
+  android:paddingRight="@dimen/message_horizontal"
+  android:paddingStart="@dimen/message_horizontal"
+  android:paddingTop="@dimen/message_vertical"
+  android:textAppearance="?android:attr/textAppearanceListItemSmall"
+  tools:background="@android:color/background_light"
+  tools:theme="@style/Theme.ChatTheme.Quassel_Light">
+
+  <TextView
+    android:id="@+id/time"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginEnd="@dimen/message_horizontal"
+    android:layout_marginRight="@dimen/message_horizontal"
+    android:fontFamily="monospace"
+    android:textColor="?attr/colorForegroundSecondary"
+    tools:text="[15:55]" />
+
+  <TextView
+    android:id="@+id/content"
+    android:layout_width="0dip"
+    android:layout_height="wrap_content"
+    android:layout_weight="1"
+    android:textColor="?attr/colorForegroundSecondary"
+    android:textIsSelectable="true"
+    android:textStyle="italic"
+    tools:text="Connecting to irc.freenode.net:6667..." />
+</LinearLayout>
diff --git a/app/src/main/res/layout/widget_chatmessage_notice.xml b/app/src/main/res/layout/widget_chatmessage_notice.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0d785dd0582d4056ab975c06ae7cd66cbcca276c
--- /dev/null
+++ b/app/src/main/res/layout/widget_chatmessage_notice.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="wrap_content"
+  android:background="?attr/colorBackgroundSecondary"
+  android:clickable="true"
+  android:focusable="true"
+  android:gravity="top"
+  android:orientation="horizontal"
+  android:paddingBottom="@dimen/message_vertical"
+  android:paddingEnd="@dimen/message_horizontal"
+  android:paddingLeft="@dimen/message_horizontal"
+  android:paddingRight="@dimen/message_horizontal"
+  android:paddingStart="@dimen/message_horizontal"
+  android:paddingTop="@dimen/message_vertical"
+  android:textAppearance="?android:attr/textAppearanceListItemSmall"
+  tools:background="@android:color/background_light"
+  tools:theme="@style/Theme.ChatTheme.Quassel_Light">
+
+  <TextView
+    android:id="@+id/time"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginEnd="@dimen/message_horizontal"
+    android:layout_marginRight="@dimen/message_horizontal"
+    android:fontFamily="monospace"
+    android:textColor="?attr/colorForegroundNotice"
+    tools:text="[15:55]" />
+
+  <TextView
+    android:id="@+id/content"
+    android:layout_width="0dip"
+    android:layout_height="wrap_content"
+    android:layout_weight="1"
+    android:textColor="?attr/colorForegroundNotice"
+    android:textIsSelectable="true"
+    tools:text="Connecting to irc.freenode.net:6667..." />
+</LinearLayout>
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 81d04fca80d8140b75051c4e0be5ea837b9c6cf8..cc5cf114cf8de72a8de33eb197856291eb6d48e5 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -39,6 +39,7 @@
   <attr name="colorForeground" format="color" />
   <attr name="colorForegroundHighlight" format="color" />
   <attr name="colorForegroundSecondary" format="color" />
+  <attr name="colorForegroundNotice" format="color" />
   <attr name="colorForegroundAction" format="color" />
   <attr name="colorForegroundError" format="color" />
 
diff --git a/app/src/main/res/values/themes_amoled.xml b/app/src/main/res/values/themes_amoled.xml
index 0786acba108a067dcad7e4a38b4b4641338ae9be..fe36b6143e69378f0b2f3385fe8d83ffc16efefb 100644
--- a/app/src/main/res/values/themes_amoled.xml
+++ b/app/src/main/res/values/themes_amoled.xml
@@ -30,6 +30,7 @@
     <item name="colorForegroundHighlight">#FFFFFF</item>
     <item name="colorForegroundSecondary">#B3FFFFFF</item>
     <item name="colorForegroundAction">#7986cb</item>
+    <item name="colorForegroundNotice">#916409</item>
     <item name="colorForegroundError">#800000</item>
 
     <item name="colorForegroundMirc">0x0</item>
diff --git a/app/src/main/res/values/themes_quassel.xml b/app/src/main/res/values/themes_quassel.xml
index d9cbff96d621ae3a1b278248396c2435c78f80b7..f83e1fffb151145c32e73490e43a0025f425f5c2 100644
--- a/app/src/main/res/values/themes_quassel.xml
+++ b/app/src/main/res/values/themes_quassel.xml
@@ -26,6 +26,7 @@
     <item name="colorForegroundHighlight">#DE000000</item>
     <item name="colorForegroundSecondary">#8A000000</item>
     <item name="colorForegroundAction">#1a237e</item>
+    <item name="colorForegroundNotice">#916409</item>
     <item name="colorForegroundError">#800000</item>
 
     <item name="colorForegroundMirc">0x1</item>
@@ -66,6 +67,7 @@
     <item name="colorForegroundHighlight">#FFFFFF</item>
     <item name="colorForegroundSecondary">#B3FFFFFF</item>
     <item name="colorForegroundAction">#7986cb</item>
+    <item name="colorForegroundNotice">#916409</item>
     <item name="colorForegroundError">#800000</item>
 
     <item name="colorForegroundMirc">0x0</item>
diff --git a/app/src/main/res/values/themes_solarized.xml b/app/src/main/res/values/themes_solarized.xml
index 12973f3c54823e930fa1ec61309add700419b52e..c1ece021531619e6f4a2121e9276a0680fe9dbc0 100644
--- a/app/src/main/res/values/themes_solarized.xml
+++ b/app/src/main/res/values/themes_solarized.xml
@@ -32,6 +32,7 @@
     <item name="colorForegroundHighlight">#839495</item>
     <item name="colorForegroundSecondary">#576A66</item>
     <item name="colorForegroundAction">#268BD2</item>
+    <item name="colorForegroundNotice">#B58900</item>
     <item name="colorForegroundError">#B00000</item>
 
     <item name="colorForegroundMirc">0xF</item>
@@ -76,6 +77,7 @@
     <item name="colorForegroundHighlight">#839495</item>
     <item name="colorForegroundSecondary">#576A66</item>
     <item name="colorForegroundAction">#268BD2</item>
+    <item name="colorForegroundNotice">#B58900</item>
     <item name="colorForegroundError">#B00000</item>
 
     <item name="colorForegroundMirc">0xF</item>