diff --git a/src/dialogs.py b/src/dialogs.py
index d1ee2ca00e614842941f107b8ed3bc368f11b821..8ce8e26165780ba51ad86a68dc2778b87b654a42 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -2466,6 +2466,10 @@ class JoinGroupchatWindow:
 
         if self.automatic:
             gajim.automatic_rooms[self.account][room_jid] = self.automatic
+        if gajim.connections[self.account].is_zeroconf:
+            ErrorDialog(_('Impossible join groupchat'),
+                    _('local account does not support groupchats.'))
+            return
         gajim.interface.join_gc_room(self.account, room_jid, nickname,  password)
 
         self.window.destroy()
diff --git a/src/gajim-remote.py b/src/gajim-remote.py
index 96895561ea927982f3525ba47290883affb8184f..168885768525181b7c8f978579494b15aa0f9c21 100644
--- a/src/gajim-remote.py
+++ b/src/gajim-remote.py
@@ -339,7 +339,8 @@ class GajimRemote:
         Print retrieved result to the output
         """
         if res is not None:
-            if self.command in ('open_chat', 'send_chat_message', 'send_single_message', 'start_chat'):
+            if self.command in ('open_chat', 'send_chat_message',
+            'send_single_message', 'start_chat'):
                 if self.command in ('send_message', 'send_single_message'):
                     self.argv_len -= 2
 
diff --git a/src/groupchat_control.py b/src/groupchat_control.py
index bbd18cb4c3c189a443c51e3ea542a1a3e28b3cc7..f5a646558108f98473eba74eeec7c5d21298aba3 100644
--- a/src/groupchat_control.py
+++ b/src/groupchat_control.py
@@ -1897,8 +1897,8 @@ class GroupchatControl(ChatControlBase):
             # logs. We do it only when connected because if connection was lost
             # there may be new messages since disconnection.
             gajim.connections[self.account].gc_got_disconnected(self.room_jid)
-        gajim.connections[self.account].send_gc_status(self.nick, self.room_jid,
-                                                show='offline', status=status)
+            gajim.connections[self.account].send_gc_status(self.nick,
+                self.room_jid, show='offline', status=status)
         nick_list = gajim.contacts.get_nick_list(self.account, self.room_jid)
         for nick in nick_list:
             # Update pm chat window
diff --git a/src/remote_control.py b/src/remote_control.py
index 4dfe18f60477d3545a31d7d53adac1a2bbbdfa71..7f47b94c3051eb051fe93edc01db079701bbeea5 100644
--- a/src/remote_control.py
+++ b/src/remote_control.py
@@ -901,10 +901,16 @@ class SignalObject(dbus.service.Object):
             accounts = gajim.connections.keys()
             for acct in accounts:
                 if gajim.account_is_connected(acct):
-                    account = acct
-                    break
+                    if not gajim.connections[acct].is_zeroconf:
+                        account = acct
+                        break
             if not account:
                 return
+
+        if gajim.connections[account].is_zeroconf:
+            # zeroconf not support groupchats
+            return
+
         if not nick:
             nick = ''
             gajim.interface.instances[account]['join_gc'] = \