diff --git a/src/cutecoin/core/account.py b/src/cutecoin/core/account.py
index ee64ae1349c6edfdc8c15ec8c9cbedc83044a76c..eb6ae82250caafc9b395a02cd43c102eda264100 100644
--- a/src/cutecoin/core/account.py
+++ b/src/cutecoin/core/account.py
@@ -199,10 +199,15 @@ class Account(object):
         self_ = Person.lookup(self.pubkey, community)
         selfcert = self_.selfcert(community)
 
-        block = community.get_block()
-        block_hash = hashlib.sha1(block.signed_raw().encode("ascii")).hexdigest().upper()
+        try:
+            block = community.get_block()
+            block_hash = hashlib.sha1(block.signed_raw().encode("ascii")).hexdigest().upper()
+            block_number = block['number']
+        except ValueError as e:
+            block_number = 0
+            block_hash = "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"
         membership = Membership(PROTOCOL_VERSION, community.currency,
-                          selfcert.pubkey, block.number,
+                          selfcert.pubkey, block_number,
                           block_hash, type, selfcert.uid,
                           selfcert.timestamp, None)
         key = SigningKey(self.salt, password)
diff --git a/src/cutecoin/core/community.py b/src/cutecoin/core/community.py
index be398ec58a8194560b6fbdbc786769a65c4b6837..a089bc9cd098b263a1bc7698505897e8512b9ff6 100644
--- a/src/cutecoin/core/community.py
+++ b/src/cutecoin/core/community.py
@@ -69,10 +69,13 @@ class Community(object):
 
     def dividend(self):
         ud = self.request(bma.blockchain.UD)
-        block_number = ud['result']['blocks'][-1]
-        block = self.request(bma.blockchain.Block,
-                             req_args={'number': block_number})
-        return block['dividend']
+        if len(ud['result']['blocks']) > 0:
+            block_number = ud['result']['blocks'][-1]
+            block = self.request(bma.blockchain.Block,
+                                 req_args={'number': block_number})
+            return block['dividend']
+        else:
+            return 1
 
     def peering(self):
         peers = []
diff --git a/src/cutecoin/core/wallet.py b/src/cutecoin/core/wallet.py
index b01501d4904793fa0a26f1efb06100911f0a24a0..27afe43765f5d9d8228819d17cc6513e39f0db98 100644
--- a/src/cutecoin/core/wallet.py
+++ b/src/cutecoin/core/wallet.py
@@ -81,13 +81,22 @@ class Cache():
         return self.tx_received
 
     def refresh(self, community):
-        current_block = community.request(bma.blockchain.Current)
+        current_block = 0
+        try:
+            block_data = community.request(bma.blockchain.Current)
+            current_block = block_data['number']
+        except ValueError as e:
+            if '404' in str(e):
+                current_block = 0
+            else:
+                raise
+
         with_tx = community.request(bma.blockchain.TX)
         # We parse only blocks with transactions
         parsed_blocks = reversed(range(self.latest_block + 1,
-                                           current_block['number'] + 1))
+                                           current_block + 1))
         logging.debug("Refresh from {0} to {1}".format(self.latest_block + 1,
-                                           current_block['number'] + 1))
+                                           current_block + 1))
         parsed_blocks = [n for n in parsed_blocks
                          if n in with_tx['result']['blocks']]
 
@@ -110,13 +119,13 @@ class Cache():
                                          if awaiting.compact() != tx.compact()]
                     self.tx_sent.append(tx)
 
-        if current_block['number'] > self.latest_block:
+        if current_block > self.latest_block:
             self.available_sources = self.wallet.sources(community)
 
         self.tx_sent = self.tx_sent[:50]
         self.tx_received = self.tx_received[:50]
 
-        self.latest_block = current_block['number']
+        self.latest_block = current_block
 
 
 class Wallet(object):
diff --git a/src/cutecoin/gui/currency_tab.py b/src/cutecoin/gui/currency_tab.py
index 585d4fbf45afe982e6aece8b7e7c05ae0c0c783d..bab2a6672d33f81b395bf49d9396176e5871f23b 100644
--- a/src/cutecoin/gui/currency_tab.py
+++ b/src/cutecoin/gui/currency_tab.py
@@ -25,21 +25,23 @@ class BlockchainWatcher(QObject):
         self.account = account
         self.community = community
         self.exiting = False
-        self.last_block = self.community.request(bma.blockchain.Current)['number']
+        peering = self.community.request(bma.network.Peering)
+        self.last_block = peering['block'].split('-')[0]
 
     @pyqtSlot()
     def watch(self):
         while not self.exiting:
             time.sleep(10)
-            current_block = self.community.request(bma.blockchain.Current)
-            if self.last_block != current_block['number']:
+            peering = self.community.request(bma.network.Peering)
+            block_number = peering['block'].split('-')[0]
+            if self.last_block != block_number:
                 for w in self.account.wallets:
                     w.cache.refresh(self.community)
 
-                logging.debug("New block, {0} mined in {1}".format(current_block['number'],
+                logging.debug("New block, {0} mined in {1}".format(block_number,
                                                                    self.community.currency))
-                self.new_block_mined.emit(current_block['number'])
-                self.last_block = current_block['number']
+                self.new_block_mined.emit(block_number)
+                self.last_block = block_number
 
     new_block_mined = pyqtSignal(int)
 
@@ -90,7 +92,8 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget):
             self.tabs_account.addTab(self.tab_community,
                                      QIcon(':/icons/community_icon'),
                                     "Community")
-            block_number = self.community.request(bma.blockchain.Current)['number']
+            peering = self.community.request(bma.network.Peering)
+            block_number = peering['block'].split('-')[0]
             self.status_label.setText("Connected : Block {0}"
                                              .format(block_number))
 
@@ -167,7 +170,8 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget):
         self.app.save(self.app.current_account)
 
     def showEvent(self, event):
-        block_number = self.community.request(bma.blockchain.Current)['number']
+        peering = self.community.request(bma.network.Peering)
+        block_number = peering['block'].split('-')[0]
         self.status_label.setText("Connected : Block {0}"
                                          .format(block_number))
 
diff --git a/src/cutecoin/gui/process_cfg_account.py b/src/cutecoin/gui/process_cfg_account.py
index df95f7167c4fe6926d8de2cf9b54c4a9ab6e4883..e5b0210887e989057e6ef4e53ae2a0fe23f4c59a 100644
--- a/src/cutecoin/gui/process_cfg_account.py
+++ b/src/cutecoin/gui/process_cfg_account.py
@@ -50,6 +50,7 @@ class StepPageInit(Step):
             self.config_dialog.list_communities.setModel(model)
             nb_wallets = len(self.config_dialog.account.wallets)
             self.config_dialog.spinbox_wallets.setValue(nb_wallets)
+            self.config_dialog.password_asker = PasswordAskerDialog(self.config_dialog.account)
 
         self.config_dialog.button_previous.setEnabled(False)
         self.config_dialog.button_next.setEnabled(False)