diff --git a/src/cutecoin/core/community.py b/src/cutecoin/core/community.py
index 553af293def7a2726371bf98725eb8332a814292..77809aa8dce18a01ed65a3b26925220753863893 100644
--- a/src/cutecoin/core/community.py
+++ b/src/cutecoin/core/community.py
@@ -87,7 +87,9 @@ class Cache():
         if cache_key not in self.data.keys():
             result = self.community.request(request, req_args, get_args,
                                          cached=False)
-
+            # For block 0, we should have a different behaviour
+            # Community members and certifications
+            # Should be requested without caching
             self.data[cache_key] = result
             return self.data[cache_key]
         else:
@@ -254,11 +256,16 @@ class Community(QObject):
         :return: The monetary mass value
         '''
         try:
-            block = self.request(bma.blockchain.Current)
+            # Get cached block by block number
+            block_number = self.network.latest_block
+            block = self.request(bma.blockchain.Block,
+                                 req_args={'number': block_number})
             return block['monetaryMass']
         except ValueError as e:
             if '404' in e:
                 return 0
+        except NoPeerAvailable as e:
+            return 0
 
     @property
     def nb_members(self):
@@ -268,11 +275,16 @@ class Community(QObject):
         :return: The community members number
         '''
         try:
-            block = self.request(bma.blockchain.Current)
+            # Get cached block by block number
+            block_number = self.network.latest_block
+            block = self.request(bma.blockchain.Block,
+                                 req_args={'number': block_number})
             return block['membersCount']
         except ValueError as e:
             if '404' in e:
                 return 0
+        except NoPeerAvailable as e:
+            return 0
 
     @property
     def network(self):
@@ -369,7 +381,6 @@ class Community(QObject):
         '''
         Start the refresh processing of the cache
         '''
-        # We have to refresh node before refresh cache
         self._cache.refresh()
 
     def request(self, request, req_args={}, get_args={}, cached=True):
diff --git a/src/cutecoin/core/person.py b/src/cutecoin/core/person.py
index ead30142201d14242534a050fb8fc8ef1f0bbb31..310b24c7de9607bdb538f055c9b8050ff3f71c51 100644
--- a/src/cutecoin/core/person.py
+++ b/src/cutecoin/core/person.py
@@ -12,7 +12,8 @@ from ucoinpy import PROTOCOL_VERSION
 from ucoinpy.documents.certification import SelfCertification
 from ucoinpy.documents.membership import Membership
 from ..tools.exceptions import Error, PersonNotFoundError,\
-                                        MembershipNotFoundError
+                                        MembershipNotFoundError, \
+                                        NoPeerAvailable
 from PyQt5.QtCore import QMutex
 
 
@@ -51,6 +52,7 @@ class cached(object):
         except KeyError:
             value = self.func(inst, community)
             inst._cache[community.currency][self.func.__name__] = value
+
         finally:
             inst._cache_mutex.unlock()
 
@@ -219,6 +221,9 @@ class Person(object):
         except ValueError as e:
             if '400' in str(e):
                 raise MembershipNotFoundError(self.pubkey, community.name)
+        except Exception as e:
+            logging.debug('bma.blockchain.Membership request error : ' + str(e))
+            raise MembershipNotFoundError(self.pubkey, community.name)
 
 #TODO: Manage 'OUT' memberships ? Maybe ?
     @cached
@@ -247,6 +252,9 @@ class Person(object):
         except ValueError as e:
             if '400' in str(e):
                 raise MembershipNotFoundError(self.pubkey, community.name)
+        except Exception as e:
+            logging.debug('bma.blockchain.Membership request error : ' + str(e))
+            raise MembershipNotFoundError(self.pubkey, community.name)
 
         return membership_data
 
@@ -263,6 +271,9 @@ class Person(object):
             return certifiers['isMember']
         except ValueError:
             return False
+        except Exception as e:
+            logging.debug('bma.wot.CertifiersOf request error : ' + str(e))
+            return False
 
     @cached
     def certifiers_of(self, community):
diff --git a/src/cutecoin/gui/mainwindow.py b/src/cutecoin/gui/mainwindow.py
index 19747aebd539cdd39dd963b034de68e99549ba3d..cceda46009a7071c4c185609bd2404d18075b45a 100644
--- a/src/cutecoin/gui/mainwindow.py
+++ b/src/cutecoin/gui/mainwindow.py
@@ -258,23 +258,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
         self.currencies_tabwidget.clear()
         if self.app.current_account:
             for community in self.app.current_account.communities:
-                try:
-                    tab_currency = CurrencyTabWidget(self.app, community,
-                                                     self.password_asker,
-                                                     self.status_label)
-                    tab_currency.refresh()
-                    self.currencies_tabwidget.addTab(tab_currency,
-                                                     QIcon(":/icons/currency_icon"),
-                                                     community.name)
-                except NoPeerAvailable as e:
-                    QMessageBox.critical(self, "Could not join {0}".format(community.currency),
-                                         str(e),
-                                         QMessageBox.Ok)
-                    continue
-                except requests.exceptions.RequestException as e:
-                    QMessageBox.critical(self, ":(",
-                                         str(e),
-                                         QMessageBox.Ok)
+                tab_currency = CurrencyTabWidget(self.app, community,
+                                                 self.password_asker,
+                                                 self.status_label)
+                tab_currency.refresh()
+                self.currencies_tabwidget.addTab(tab_currency,
+                                                 QIcon(":/icons/currency_icon"),
+                                                 community.name)
 
     def refresh_accounts(self):
         self.menu_change_account.clear()