diff --git a/gajim/data/gui/groupchat_control.ui b/gajim/data/gui/groupchat_control.ui
index 1d83b7e3f7eafba4677d957fa0153e15f9560fa7..5a60a169293e819d602afa9e7d058c6c8fcf9990 100644
--- a/gajim/data/gui/groupchat_control.ui
+++ b/gajim/data/gui/groupchat_control.ui
@@ -1584,6 +1584,113 @@
             <property name="position">11</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkBox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="orientation">vertical</property>
+            <child>
+              <object class="GtkGrid">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">center</property>
+                <property name="valign">center</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="row_spacing">12</property>
+                <child>
+                  <object class="GtkLabel">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Enter a new name for this group chat</property>
+                    <property name="xalign">0</property>
+                    <style>
+                      <class name="bold16"/>
+                    </style>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="name_entry">
+                    <property name="width_request">200</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="activates_default">True</property>
+                    <property name="caps_lock_warning">False</property>
+                    <property name="secondary_icon_name">face-smile-symbolic</property>
+                    <property name="secondary_icon_tooltip_text" translatable="yes">Insert Emoji</property>
+                    <property name="secondary_icon_tooltip_markup" translatable="yes">Insert Emoji</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="homogeneous">True</property>
+                    <child>
+                      <object class="GtkButton">
+                        <property name="label" translatable="yes">_Cancel</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="halign">start</property>
+                        <property name="valign">start</property>
+                        <property name="use_underline">True</property>
+                        <signal name="clicked" handler="_on_page_cancel_clicked" swapped="no"/>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="rename_button">
+                        <property name="label" translatable="yes">_Rename</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="halign">end</property>
+                        <property name="valign">start</property>
+                        <property name="use_underline">True</property>
+                        <signal name="clicked" handler="_on_rename_clicked" swapped="no"/>
+                        <style>
+                          <class name="suggested-action"/>
+                        </style>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="name">rename</property>
+            <property name="position">12</property>
+          </packing>
+        </child>
       </object>
       <packing>
         <property name="expand">True</property>
diff --git a/gajim/groupchat_control.py b/gajim/groupchat_control.py
index 7bfb45c5b78d9e00464af538be12aed0c4571619..69954344093eb2496e10bc17f6865de761371083 100644
--- a/gajim/groupchat_control.py
+++ b/gajim/groupchat_control.py
@@ -256,6 +256,7 @@ def disco_info(self):
     def add_actions(self):
         super().add_actions()
         actions = [
+            ('rename-groupchat-', None, self._on_rename_groupchat),
             ('change-subject-', None, self._on_change_subject),
             ('change-nickname-', None, self._on_change_nick),
             ('disconnect-', None, self._on_disconnect),
@@ -1991,6 +1992,20 @@ def _on_nickname_change_clicked(self, _button):
             self.room_jid, new_nick)
         self._show_page('groupchat')
 
+    def _on_rename_groupchat(self, _action, _param):
+        if self._get_current_page() != 'groupchat':
+            return
+        self.xml.name_entry.set_text(self.room_name)
+        self.xml.name_entry.grab_focus()
+        self.xml.rename_button.grab_default()
+        self._show_page('rename')
+
+    def _on_rename_clicked(self, _button):
+        new_name = self.xml.name_entry.get_text()
+        app.connections[self.account].get_module('Bookmarks').modify(
+            self.room_jid, name=new_name)
+        self._show_page('groupchat')
+
     def _on_change_subject(self, _action, _param):
         if self._get_current_page() != 'groupchat':
             return
diff --git a/gajim/gui_menu_builder.py b/gajim/gui_menu_builder.py
index 57873dfdccc390061d02ec89e24319c85be3946f..3f7cfa95fd87be719aacb8df28d2d197f6f382c0 100644
--- a/gajim/gui_menu_builder.py
+++ b/gajim/gui_menu_builder.py
@@ -574,6 +574,7 @@ def get_groupchat_menu(control_id, account, jid):
     groupchat_menu = [
         ('win.information-', _('Information')),
         (_('Manage Group Chat'), [
+            ('win.rename-groupchat-', _('Rename Group Chat')),
             ('win.change-subject-', _('Change Subject')),
             ('win.configure-', _('Configure Group Chat')),
             ('win.upload-avatar-', _('Upload Avatar…')),