diff --git a/setup.py b/setup.py
index 7ae85bc41d9735f9635b693e17c01387d49dd3e9..ee09ae24e4e4614b0db6f89ec2b277b025b65af8 100644
--- a/setup.py
+++ b/setup.py
@@ -117,7 +117,7 @@ else:
 
     setup(
         name = "sakia",
-        version = "0.11.2",
+        version = "0.11.3",
         description = "UCoin client",
         author = "Inso",
         options = {"build_exe": options},
diff --git a/src/sakia/__init__.py b/src/sakia/__init__.py
index 03e0055e7e45c2e6aa109116494f77af1495f348..e92e1772fccf93ff2627cba943fed2e5091cbfbf 100644
--- a/src/sakia/__init__.py
+++ b/src/sakia/__init__.py
@@ -1,2 +1,2 @@
-__version_info__ = ('0', '11', '2')
+__version_info__ = ('0', '11', '3')
 __version__ = '.'.join(__version_info__)
diff --git a/src/sakia/core/net/api/bma/access.py b/src/sakia/core/net/api/bma/access.py
index bd72e65e3616e7a9dda18fe5e71316f81f0e4f0a..34f87c2bffc6d69c0ebd4db6faee50d107d45c1f 100644
--- a/src/sakia/core/net/api/bma/access.py
+++ b/src/sakia/core/net/api/bma/access.py
@@ -279,8 +279,9 @@ class BmaAccess(QObject):
                 except jsonschema.ValidationError as e:
                     logging.debug(str(e))
                     tries += 1
-        else:
+        if len(nodes) == 0 or json_data is None:
             raise NoPeerAvailable("", len(nodes))
+        return json_data
 
     async def broadcast(self, request, req_args={}, post_args={}):
         """
diff --git a/src/sakia/gui/community_tile.py b/src/sakia/gui/community_tile.py
index 7b347c3245cb1668289096db99b2f288a1c13b9b..419a476cb233eed149c96a159e03f5932ace3012 100644
--- a/src/sakia/gui/community_tile.py
+++ b/src/sakia/gui/community_tile.py
@@ -9,7 +9,7 @@ from PyQt5.QtWidgets import QFrame, QLabel, QVBoxLayout, QLayout
 from PyQt5.QtCore import QSize, pyqtSignal
 from ucoinpy.documents.block import Block
 
-from ..tools.decorators import asyncify
+from ..tools.decorators import asyncify, once_at_a_time, cancel_once_task
 from ..tools.exceptions import NoPeerAvailable
 from sakia.gui.widgets.busy import Busy
 
@@ -55,6 +55,10 @@ class CommunityTile(QFrame):
         if state != self._state:
             self.refresh()
 
+    def cancel_refresh(self):
+        cancel_once_task(self, self.refresh)
+
+    @once_at_a_time
     @asyncify
     async def refresh(self):
         self.busy.show()
diff --git a/src/sakia/gui/homescreen.py b/src/sakia/gui/homescreen.py
index b60ca759ca2fb632f4428581049bb652be8a47e0..3eb44eadf63bb86595608e6baabae20bf93c3714 100644
--- a/src/sakia/gui/homescreen.py
+++ b/src/sakia/gui/homescreen.py
@@ -29,6 +29,7 @@ class FrameCommunities(QFrame):
 
     def refresh(self, app):
         for t in self.tiles:
+            t.cancel_refresh()
             t.setParent(None)
         self.tiles = []
         if app.current_account: