diff --git a/src/common/contacts.py b/src/common/contacts.py
index 586caadf580eca85792a9cc7015dcbf840a6c832..72d496263e3f86e47ede6be93771ae980eb1433c 100644
--- a/src/common/contacts.py
+++ b/src/common/contacts.py
@@ -99,7 +99,7 @@ class Contact(CommonContact):
             our_chatstate, chatstate, client_caps=client_caps)
 
         self.contact_name = '' # nick choosen by contact
-        self.groups = [i for i in set(groups)] # filter duplicate values
+        self.groups = [i if i else _('General') for i in set(groups)] # filter duplicate values
 
         self.sub = sub
         self.ask = ask
diff --git a/src/roster_window.py b/src/roster_window.py
index 42bb73f29b6eeb9ece3be9e056c477696bebf02e..3c775d4cb4e9cf9adc8d8b1126e2582f05512e86 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -299,7 +299,7 @@ class RosterWindow:
         delimiter = gajim.connections[account].nested_group_delimiter
         group_splited = group.split(delimiter)
         parent_group = delimiter.join(group_splited[:-1])
-        if parent_group in self._iters[account_group]['groups']:
+        if len(group_splited) > 1 and parent_group in self._iters[account_group]['groups']:
             iter_parent = self._iters[account_group]['groups'][parent_group]
         elif parent_group:
             iter_parent = self._add_group_iter(account, parent_group)