diff --git a/src/roster_window.py b/src/roster_window.py
index 69fd74f904d1cb7bcf6d651a9a815f0619b970a4..ca0aec7c148d3fba433cb5ad7d25db3cde637c86 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -3540,6 +3540,27 @@ class RosterWindow:
                     self.on_row_activated(widget, path)
                 self.clicked_path = None
 
+    def accel_group_func(self, accel_group, acceleratable, keyval, modifier):
+        # CTRL mask
+        if modifier & gtk.gdk.CONTROL_MASK:
+            if keyval == gtk.keysyms.s: # CTRL + s
+                model = self.status_combobox.get_model()
+                accounts = gajim.connections.keys()
+                status = model[self.previous_status_combobox_active][2].decode(
+                    'utf-8')
+                def on_response(message, pep_dict):
+                    if message is not None: # None if user pressed Cancel
+                        for account in accounts:
+                            if not gajim.config.get_per('accounts', account,
+                            'sync_with_global_status'):
+                                continue
+                            current_show = gajim.SHOW_LIST[
+                                gajim.connections[account].connected]
+                            self.send_status(account, current_show, message)
+                            self.send_pep(account, pep_dict)
+                dialogs.ChangeStatusMessageDialog(on_response, status)
+                return
+
     def on_roster_treeview_button_press_event(self, widget, event):
         # hide tooltip, no matter the button is pressed
         self.tooltip.hide_tooltip()
@@ -6359,8 +6380,8 @@ class RosterWindow:
         # activity_pixbuf, tune_pixbuf, location_pixbuf, avatar_pixbuf,
         # padlock_pixbuf]
         self.columns = [gtk.Image, str, str, str, str,
-                gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf,
-                gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf]
+            gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf,
+            gtk.gdk.Pixbuf, gtk.gdk.Pixbuf]
         self.xml = gtkgui_helpers.get_gtk_builder('roster_window.ui')
         self.window = self.xml.get_object('roster_window')
         self.hpaned = self.xml.get_object('roster_hpaned')
@@ -6630,6 +6651,13 @@ class RosterWindow:
         new_chat_menuitem.add_accelerator('activate', accel_group,
             gtk.keysyms.n, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
 
+        # Setting CTRL+S to be the shortcut to change status message
+        accel_group = gtk.AccelGroup()
+        keyval, mod = gtk.accelerator_parse('<Control>s')
+        accel_group.connect_group(keyval, mod, gtk.ACCEL_VISIBLE,
+            self.accel_group_func)
+        self.window.add_accel_group(accel_group)
+
         # Setting the search stuff
         self.rfilter_entry = self.xml.get_object('rfilter_entry')
         self.rfilter_string = ''