diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/buffers/BufferViewConfigFragment.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/buffers/BufferViewConfigFragment.kt
index a3c15efe2bbb72f284ade1a32f452d73323637c5..490fd7b597140b84222e0088b29d3d2b37bc46c0 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/buffers/BufferViewConfigFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/buffers/BufferViewConfigFragment.kt
@@ -79,7 +79,7 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
             actionMode?.finish()
             true
           }
-          R.id.action_delete     -> {
+          R.id.action_delete    -> {
             MaterialDialog.Builder(activity!!)
               .content(R.string.buffer_delete_confirmation)
               .positiveText(R.string.label_yes)
@@ -95,21 +95,40 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
             actionMode?.finish()
             true
           }
-          R.id.action_unhide     -> {
+          R.id.action_rename    -> {
+            MaterialDialog.Builder(activity!!)
+              .input(
+                getString(R.string.label_buffer_name),
+                info.bufferName,
+                false
+              ) { _, input ->
+                session.bufferSyncer?.requestRenameBuffer(selected.info.bufferId, input.toString())
+              }
+              .positiveText(R.string.label_save)
+              .negativeText(R.string.label_cancel)
+              .negativeColorAttr(R.attr.colorTextPrimary)
+              .backgroundColorAttr(R.attr.colorBackgroundCard)
+              .contentColorAttr(R.attr.colorTextPrimary)
+              .build()
+              .show()
+            actionMode?.finish()
+            true
+          }
+          R.id.action_unhide    -> {
             bufferSyncer?.let {
               bufferViewConfig?.requestAddBuffer(info, bufferSyncer)
             }
             true
           }
-          R.id.action_hide_temp  -> {
+          R.id.action_hide_temp -> {
             bufferViewConfig?.requestRemoveBuffer(info.bufferId)
             true
           }
-          R.id.action_hide_perm  -> {
+          R.id.action_hide_perm -> {
             bufferViewConfig?.requestRemoveBufferPermanently(info.bufferId)
             true
           }
-          else                   -> false
+          else                  -> false
         }
       } else {
         false
@@ -214,6 +233,7 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
             R.id.action_join,
             R.id.action_part,
             R.id.action_delete,
+            R.id.action_rename,
             R.id.action_unhide,
             R.id.action_hide_temp,
             R.id.action_hide_perm
@@ -252,7 +272,7 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
               } + visibilityActions
             }
             Buffer_Type.QueryBuffer   -> {
-              setOf(R.id.action_delete) + visibilityActions
+              setOf(R.id.action_delete, R.id.action_rename) + visibilityActions
             }
             else                      -> visibilityActions
           }
diff --git a/app/src/main/res/menu/context_buffer.xml b/app/src/main/res/menu/context_buffer.xml
index 9754406733c30da0117b61e6e71c436cd4c0e712..246eb68efe77c708350edc1db6ace9a592cbfbd3 100644
--- a/app/src/main/res/menu/context_buffer.xml
+++ b/app/src/main/res/menu/context_buffer.xml
@@ -16,6 +16,9 @@
   <item
     android:id="@+id/action_delete"
     android:title="@string/label_delete" />
+  <item
+    android:id="@+id/action_rename"
+    android:title="@string/label_rename" />
   <item
     android:id="@+id/action_unhide"
     android:title="@string/label_unhide"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fe8fac721ac408771ae41cf424ced212c7850ad7..c20443db376e0b4ddc4b5c1febc838b4bf60d48e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -4,6 +4,7 @@
   <string name="connection_service_title">Connection Service</string>
   <string name="connection_service_description">Keeps a connection to your core to allow for notifications, and to transmit messages.</string>
 
+  <string name="label_buffer_name">Buffer Name</string>
   <string name="label_cancel">Cancel</string>
   <string name="label_clear_backlog">Clear Backlog</string>
   <string name="label_close">Close</string>
@@ -15,14 +16,17 @@
   <string name="label_hide_temp">Hide Temporarily</string>
   <string name="label_input_history">Input History</string>
   <string name="label_join">Join</string>
+  <string name="label_no">No</string>
   <string name="label_open">Open</string>
   <string name="label_part">Part</string>
   <string name="label_placeholder">Write a message…</string>
+  <string name="label_rename">Rename</string>
   <string name="label_save">Save</string>
   <string name="label_select_multiple">Select</string>
   <string name="label_settings">Settings</string>
   <string name="label_show_hidden">Show Hidden</string>
   <string name="label_unhide">Make Visible</string>
+  <string name="label_yes">Yes</string>
 
   <string name="label_status_disconnected">Disconnected</string>
   <string name="label_status_connecting">Connecting</string>
@@ -36,6 +40,4 @@
   <string name="notification_channel_highlight_title">Highlight</string>
 
   <string name="buffer_delete_confirmation">Do you want to delete this buffer permanently?</string>
-  <string name="label_yes">Yes</string>
-  <string name="label_no">No</string>
 </resources>