diff --git a/res/ui/homescreen.ui b/res/ui/homescreen.ui
index 8f981fb9cff47bc887fb1fc8d994b2499337e22a..f326a247071175967a5e8908579dd6ec4ee79212 100644
--- a/res/ui/homescreen.ui
+++ b/res/ui/homescreen.ui
@@ -39,25 +39,17 @@
        <enum>QLayout::SetMaximumSize</enum>
       </property>
       <item>
-       <widget class="QPushButton" name="pushButton_3">
-        <property name="text">
-         <string/>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normaloff>../icons/iconmonstr-home-icon.svg</normaloff>../icons/iconmonstr-home-icon.svg</iconset>
+       <widget class="QLabel" name="label_connected">
+        <property name="styleSheet">
+         <string notr="true"> font-size:12pt; font-weight:600;</string>
         </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QLabel" name="label_4">
         <property name="text">
-         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Connected as&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         <string>Connected as</string>
         </property>
        </widget>
       </item>
       <item>
-       <widget class="QPushButton" name="pushButton">
+       <widget class="QPushButton" name="button_add_community">
         <property name="text">
          <string>Add a community</string>
         </property>
@@ -74,7 +66,7 @@
        </widget>
       </item>
       <item>
-       <widget class="QPushButton" name="pushButton_2">
+       <widget class="QPushButton" name="button_disconnect">
         <property name="text">
          <string>Disconnect</string>
         </property>
@@ -122,30 +114,14 @@
      </property>
      <layout class="QHBoxLayout" name="horizontalLayout_2">
       <item>
-       <spacer name="horizontalSpacer_4">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Minimum</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item>
-       <widget class="QLabel" name="label_6">
+       <widget class="QLabel" name="label_disconnected">
         <property name="text">
          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Not Connected&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
         </property>
        </widget>
       </item>
       <item>
-       <widget class="QToolButton" name="toolButton">
+       <widget class="QToolButton" name="toolbutton_connect">
         <property name="text">
          <string>Connect</string>
         </property>
@@ -168,7 +144,7 @@
        </widget>
       </item>
       <item>
-       <widget class="QToolButton" name="button_new_2">
+       <widget class="QToolButton" name="toolbutton_new_account">
         <property name="text">
          <string>New account</string>
         </property>
diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py
index 625f4a893823bdd8eea9398eae2c552919107ad3..5ad77ced20ad7475e7ae18c69d3bedb6b9bf794d 100644
--- a/src/cutecoin/core/app.py
+++ b/src/cutecoin/core/app.py
@@ -178,7 +178,8 @@ class Application(QObject):
             self.stop_current_account()
 
         self.current_account = account
-        self.current_account.start_coroutines()
+        if self.current_account is not None:
+            self.current_account.start_coroutines()
 
     def stop_current_account(self):
         """
diff --git a/src/cutecoin/gui/homescreen.py b/src/cutecoin/gui/homescreen.py
index 864e7f199857ed773e8a02781d899df2e54cd247..0d00fed7cce928ee4e1fbb01486bc241128d8dbb 100644
--- a/src/cutecoin/gui/homescreen.py
+++ b/src/cutecoin/gui/homescreen.py
@@ -4,7 +4,7 @@ Created on 31 janv. 2015
 @author: vit
 """
 
-from PyQt5.QtWidgets import QWidget, QFrame, QGridLayout, QLayout
+from PyQt5.QtWidgets import QWidget, QFrame, QGridLayout, QAction
 from PyQt5.QtCore import QEvent, Qt, pyqtSlot, pyqtSignal
 from ..gen_resources.homescreen_uic import Ui_HomescreenWidget
 from .community_tile import CommunityTile
@@ -58,7 +58,14 @@ class HomeScreenWidget(QWidget, Ui_HomescreenWidget):
         self.layout().addWidget(self.frame_communities)
 
     def refresh(self):
-        self.frame_communities.refresh(self.app)
+        if self.app.current_account:
+            self.frame_connected.show()
+            self.label_connected.setText(self.tr("Connected as {0}".format(self.app.current_account.name)))
+            self.frame_disconnected.hide()
+            self.frame_communities.refresh(self.app)
+        else:
+            self.frame_disconnected.show()
+            self.frame_connected.hide()
 
     def changeEvent(self, event):
         """
diff --git a/src/cutecoin/gui/identities_tab.py b/src/cutecoin/gui/identities_tab.py
index a5e5e41298baac07140ee665d44fb4606e523b02..991c2aac6748aec46491d520e2aa1eb4af3682ad 100644
--- a/src/cutecoin/gui/identities_tab.py
+++ b/src/cutecoin/gui/identities_tab.py
@@ -61,9 +61,12 @@ class IdentitiesTabWidget(QWidget, Ui_IdentitiesTab):
 
     def change_account(self, account):
         self.account = account
-        self.account.membership_broadcasted.connect(self.handle_membership_broadcasted)
-        self.account.revoke_broadcasted.connect(self.handle_revoke_broadcasted)
-        self.account.selfcert_broadcasted.connect(self.handle_selfcert_broadcasted)
+        if self.account is not None:
+            self.account.membership_broadcasted.connect(self.handle_membership_broadcasted)
+            self.account.revoke_broadcasted.connect(self.handle_revoke_broadcasted)
+            self.account.selfcert_broadcasted.connect(self.handle_selfcert_broadcasted)
+        else:
+            self.community = None
 
     def change_community(self, community):
         self.community = community
diff --git a/src/cutecoin/gui/mainwindow.py b/src/cutecoin/gui/mainwindow.py
index d53e4e391c6425b86ffac7ca71d8c0ff0a59e922..6c9e0187bebf779843a6060310823996e95a28e1 100644
--- a/src/cutecoin/gui/mainwindow.py
+++ b/src/cutecoin/gui/mainwindow.py
@@ -67,6 +67,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
 
         self.homescreen = HomeScreenWidget(self.app)
         self.homescreen.frame_communities.community_tile_clicked.connect(self.change_community)
+        self.homescreen.toolbutton_new_account.addAction(self.action_add_account)
+        self.homescreen.toolbutton_new_account.addAction(self.action_import)
+        self.homescreen.button_disconnect.clicked.connect(lambda :self.action_change_account(""))
         self.centralWidget().layout().addWidget(self.homescreen)
 
         self.community_view = CommunityWidget(self.app, self.status_label)
@@ -238,14 +241,11 @@ class MainWindow(QMainWindow, Ui_MainWindow):
 
     def refresh_accounts(self):
         self.menu_change_account.clear()
-        signal_mapper = QSignalMapper(self)
-
         for account_name in sorted(self.app.accounts.keys()):
             action = QAction(account_name, self)
+            action.triggered.connect(lambda checked, account_name=account_name: self.action_change_account(account_name))
             self.menu_change_account.addAction(action)
-            signal_mapper.setMapping(action, account_name)
-            action.triggered.connect(signal_mapper.map)
-            signal_mapper.mapped[str].connect(self.action_change_account)
+            self.homescreen.toolbutton_connect.addAction(action)
 
     def refresh_contacts(self):
         self.menu_contacts_list.clear()
diff --git a/src/cutecoin/gui/wallets_tab.py b/src/cutecoin/gui/wallets_tab.py
index 425e1c22228c17b0856cd7a9e2e25e4a17ec2260..a87f080ceb56c6cf7f249ac47856a36a56c00d58 100644
--- a/src/cutecoin/gui/wallets_tab.py
+++ b/src/cutecoin/gui/wallets_tab.py
@@ -39,11 +39,9 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab):
 
     def change_account(self, account):
         self.account = account
-        self.account.inner_data_changed.connect(self.refresh_informations_frame)
 
     def change_community(self, community):
         self.community = community
-        self.community.inner_data_changed.connect(self.refresh_informations_frame)
 
     def refresh(self):
         if self.community: