diff --git a/res/ui/currency_tab.ui b/res/ui/currency_tab.ui
index dfc7c4c3eca044f371e1c1ddbdf207ad193b7fc8..8218af48ed277e794265950b98bfee2f45e6fd16 100644
--- a/res/ui/currency_tab.ui
+++ b/res/ui/currency_tab.ui
@@ -100,48 +100,6 @@
      </layout>
     </widget>
    </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout_2">
-     <property name="topMargin">
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="label_current_block">
-       <property name="text">
-        <string/>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QProgressBar" name="bar_requests">
-       <property name="enabled">
-        <bool>true</bool>
-       </property>
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="maximum">
-        <number>0</number>
-       </property>
-       <property name="value">
-        <number>0</number>
-       </property>
-       <property name="textVisible">
-        <bool>true</bool>
-       </property>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="invertedAppearance">
-        <bool>false</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
   </layout>
  </widget>
  <resources>
diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py
index a166025bd76c49af0aebd6449c88cfdabbe7564e..16aa74b82012b2b820dd6d4e1355c0305240baac 100644
--- a/src/cutecoin/core/app.py
+++ b/src/cutecoin/core/app.py
@@ -30,8 +30,6 @@ class Application(object):
         self.current_account = None
         config.parse_arguments(argv)
         self.load()
-        if self.default_account != "":
-            self.change_current_account(self.get_account(self.default_account))
 
     def get_account(self, name):
         if not self.accounts[name]:
diff --git a/src/cutecoin/core/community.py b/src/cutecoin/core/community.py
index ed478ee669a294130757939d01ab12a43823baeb..43f50d1d1483e1f3af924594a6e54c86de2bf5a2 100644
--- a/src/cutecoin/core/community.py
+++ b/src/cutecoin/core/community.py
@@ -127,8 +127,13 @@ class Community(object):
                          hash(tuple(frozenset(sorted(get_args.items())))))
 
             if cache_key not in self.requests_cache.keys():
-                logging.debug("Connecting to {0}:{1}".format(e.server,
+                if e.server:
+                    logging.debug("Connecting to {0}:{1}".format(e.server,
                                                              e.port))
+                else:
+                    logging.debug("Connecting to {0}:{1}".format(e.ipv4,
+                                                             e.port))
+
                 req = request(e.conn_handler(), **req_args)
                 data = req.get(**get_args)
                 if inspect.isgenerator(data):
diff --git a/src/cutecoin/gui/currency_tab.py b/src/cutecoin/gui/currency_tab.py
index db286268ba87c0c1289bbf3a2d284823e433d8f3..b8186bbf334d59ab4196593294389ed1d59932e6 100644
--- a/src/cutecoin/gui/currency_tab.py
+++ b/src/cutecoin/gui/currency_tab.py
@@ -9,7 +9,7 @@ import time
 
 from ucoinpy.api import bma
 from PyQt5.QtWidgets import QWidget, QMenu, QAction, QApplication
-from PyQt5.QtCore import QModelIndex, Qt, pyqtSlot, QThread, pyqtSignal
+from PyQt5.QtCore import QModelIndex, Qt, pyqtSlot, QObject, QThread, pyqtSignal
 from PyQt5.QtGui import QIcon
 from ..gen_resources.currency_tab_uic import Ui_CurrencyTabWidget
 from .community_tab import CommunityTabWidget
@@ -19,19 +19,16 @@ from ..models.wallets import WalletsListModel
 from ..models.wallet import WalletListModel
 
 
-class BlockchainInspector(QThread):
+class BlockchainWatcher(QObject):
     def __init__(self, account, community):
-        QThread.__init__(self)
+        super().__init__()
         self.account = account
         self.community = community
         self.exiting = False
         self.last_block = self.community.request(bma.blockchain.Current)['number']
 
-    def __del__(self):
-        self.exiting = True
-        self.wait()
-
-    def run(self):
+    @pyqtSlot()
+    def watch(self):
         while not self.exiting:
             time.sleep(10)
             current_block = self.community.request(bma.blockchain.Current)
@@ -53,7 +50,7 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget):
     classdocs
     '''
 
-    def __init__(self, app, community, password_asker):
+    def __init__(self, app, community, password_asker, status_label):
         '''
         Constructor
         '''
@@ -62,13 +59,19 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget):
         self.app = app
         self.community = community
         self.password_asker = password_asker
+        self.status_label = status_label
         self.tab_community = CommunityTabWidget(self.app.current_account,
                                                     self.community,
                                                     self.password_asker)
-        self.bc_inspector = BlockchainInspector(self.app.current_account,
+        self.bc_watcher = BlockchainWatcher(self.app.current_account,
                                                 community)
-        self.bc_inspector.new_block_mined.connect(self.refresh_block)
-        self.bc_inspector.start()
+        self.bc_watcher.new_block_mined.connect(self.refresh_block)
+
+        self.watcher_thread = QThread()
+        self.bc_watcher.moveToThread(self.watcher_thread)
+        self.watcher_thread.started.connect(self.bc_watcher.watch)
+
+        self.watcher_thread.start()
 
     def refresh(self):
         if self.app.current_account is None:
@@ -88,7 +91,7 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget):
                                      QIcon(':/icons/community_icon'),
                                     "Community")
             block_number = self.community.request(bma.blockchain.Current)['number']
-            self.label_current_block.setText("Current Block : {0}"
+            self.status_label.setText("Connected : Block {0}"
                                              .format(block_number))
 
     @pyqtSlot(int)
@@ -116,8 +119,8 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget):
                                                            QModelIndex(),
                                                            [])
 
-        self.label_current_block.setText("Current Block : {0}"
-                                         .format(block_number))
+        self.label_current_block.setText("Connected : Block {0}"
+                                             .format(block_number))
 
     def refresh_wallets(self):
         wallets_list_model = WalletsListModel(self.app.current_account,
@@ -162,3 +165,12 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget):
 
     def wallet_changed(self):
         self.app.save(self.app.current_account)
+
+    def showEvent(self, event):
+        block_number = self.community.request(bma.blockchain.Current)['number']
+        self.status_label.setText("Connected : Block {0}"
+                                         .format(block_number))
+
+    def closeEvent(self, event):
+        self.bc_watcher.deleteLater()
+        self.watcher_thread.deleteLater()
diff --git a/src/cutecoin/gui/mainwindow.py b/src/cutecoin/gui/mainwindow.py
index 7f0673d9b42867918e8e860ccfa441259f500b8d..2c45a5cc9a89ca720aa9599d82f534ffd3b9cc17 100644
--- a/src/cutecoin/gui/mainwindow.py
+++ b/src/cutecoin/gui/mainwindow.py
@@ -4,8 +4,8 @@ Created on 1 févr. 2014
 @author: inso
 '''
 from cutecoin.gen_resources.mainwindow_uic import Ui_MainWindow
-from PyQt5.QtWidgets import QMainWindow, QAction, QFileDialog
-from PyQt5.QtCore import QSignalMapper, QModelIndex, QThread, pyqtSignal
+from PyQt5.QtWidgets import QMainWindow, QAction, QFileDialog, QProgressBar, QLabel
+from PyQt5.QtCore import QSignalMapper, QModelIndex, QObject, QThread, pyqtSlot, pyqtSignal
 from PyQt5.QtGui import QIcon
 from .process_cfg_account import ProcessConfigureAccount
 from .transfer import TransferMoneyDialog
@@ -18,6 +18,24 @@ from .password_asker import PasswordAskerDialog
 import logging
 
 
+class Loader(QObject):
+    def __init__(self, app):
+        super().__init__()
+        self.app = app
+        self.account_name = ""
+
+    loaded = pyqtSignal()
+
+    def set_account_name(self, name):
+        self.account_name = name
+
+    @pyqtSlot()
+    def load(self):
+        if self.account_name != "":
+            self.app.change_current_account(self.app.get_account(self.account_name))
+        self.loaded.emit()
+
+
 class MainWindow(QMainWindow, Ui_MainWindow):
 
     '''
@@ -33,6 +51,23 @@ class MainWindow(QMainWindow, Ui_MainWindow):
         self.setupUi(self)
         self.app = app
         self.password_asker = None
+        self.initialized = False
+        self.busybar = QProgressBar(self.statusbar)
+        self.busybar.setMinimum(0)
+        self.busybar.setMaximum(0)
+        self.busybar.setValue(-1)
+        self.statusbar.addWidget(self.busybar)
+        self.busybar.hide()
+
+        self.status_label = QLabel("", self.statusbar)
+        self.statusbar.addPermanentWidget(self.status_label)
+
+        self.loader_thread = QThread()
+        self.loader = Loader(self.app)
+        self.loader.moveToThread(self.loader_thread)
+        self.loader.loaded.connect(self.loader_finished)
+        self.loader.loaded.connect(self.loader_thread.quit)
+        self.loader_thread.started.connect(self.loader.load)
         self.refresh()
 
     def open_add_account_dialog(self):
@@ -40,9 +75,16 @@ class MainWindow(QMainWindow, Ui_MainWindow):
         dialog.accepted.connect(self.refresh)
         dialog.exec_()
 
-    def action_change_account(self, account_name):
-        self.app.change_current_account(self.app.get_account(account_name))
+    @pyqtSlot()
+    def loader_finished(self):
         self.refresh()
+        self.busybar.hide()
+
+    def action_change_account(self, account_name):
+        self.busybar.show()
+        self.status_label.setText("Loading account {0}".format(account_name))
+        self.loader.set_account_name(account_name)
+        self.loader_thread.start(QThread.LowPriority)
 
     def open_transfer_money_dialog(self):
         dialog = TransferMoneyDialog(self.app.current_account,
@@ -112,7 +154,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
             self.currencies_tabwidget.clear()
             for community in self.app.current_account.communities:
                 tab_currency = CurrencyTabWidget(self.app, community,
-                                                 self.password_asker)
+                                                 self.password_asker,
+                                                 self.status_label)
                 tab_currency.refresh()
                 self.currencies_tabwidget.addTab(tab_currency,
                                                  QIcon(":/icons/currency_icon"),
@@ -142,5 +185,14 @@ class MainWindow(QMainWindow, Ui_MainWindow):
     def closeEvent(self, event):
         if self.app.current_account:
             self.app.save_cache(self.app.current_account)
+        self.loader.deleteLater()
+        self.loader_thread.deleteLater()
         super().closeEvent(event)
 
+    def showEvent(self, event):
+        super().showEvent(event)
+        if not self.initialized:
+            if self.app.default_account != "":
+                logging.debug("Loading default account")
+                self.action_change_account(self.app.default_account)
+            self.initialized = True