diff --git a/src/sakia/core/net/node.py b/src/sakia/core/net/node.py
index 3539d85abd3134f0f269b7e095119ec2faa96a31..80983ec5f922fb9f65dc92f984c235a622947509 100644
--- a/src/sakia/core/net/node.py
+++ b/src/sakia/core/net/node.py
@@ -10,11 +10,13 @@ from ...tools.decorators import asyncify
 from ucoinpy.api import bma as bma
 from ucoinpy.api.bma import ConnectionHandler
 
-import asyncio
-from aiohttp.errors import ClientError, DisconnectedError
+from aiohttp.errors import ClientError, DisconnectedError, TimeoutError, \
+    WSClientDisconnectedError, WSServerHandshakeError, ClientResponseError
 import logging
 import time
 import jsonschema
+import asyncio
+import aiohttp
 from socket import gaierror
 
 from PyQt5.QtCore import QObject, pyqtSignal
@@ -281,7 +283,7 @@ class Node(QObject):
         Refresh all data of this node
         :param bool manual: True if the refresh was manually initiated
         """
-        self.refresh_block()
+        asyncio.ensure_future(self.connect_current_block())
         self.refresh_peers()
 
         if self._refresh_counter % 20 == 0 or manual:
@@ -292,6 +294,25 @@ class Node(QObject):
         else:
             self._refresh_counter += 1
 
+    async def connect_current_block(self):
+        try:
+            conn_handler = self.endpoint.conn_handler()
+            async with bma.websocket.Block(conn_handler).connect() as ws:
+                async for msg in ws:
+                    if msg.tp == aiohttp.MsgType.text:
+                        pass
+                    elif msg.tp == aiohttp.MsgType.closed:
+                        break
+                    elif msg.tp == aiohttp.MsgType.error:
+                        break
+                    else:
+                        pass
+        except (WSServerHandshakeError, WSClientDisconnectedError) as e:
+            logging.debug("Websocket error : {0}".format(str(e)))
+        except ClientResponseError as e:
+            logging.debug("Client response error : {0}".format(str(e)))
+
+
     @asyncify
     async def refresh_block(self):
         """
@@ -318,7 +339,7 @@ class Node(QObject):
                     logging.debug("Error in previous block reply :  {0}".format(self.pubkey))
                     logging.debug(str(e))
                     self.changed.emit()
-                except (ClientError, gaierror, asyncio.TimeoutError, DisconnectedError) as e:
+                except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
                     logging.debug("{0} : {1}".format(str(e), self.pubkey))
                     self.state = Node.OFFLINE
                 except jsonschema.ValidationError:
@@ -338,7 +359,7 @@ class Node(QObject):
             logging.debug("Error in block reply :  {0}".format(self.pubkey))
             logging.debug(str(e))
             self.changed.emit()
-        except (ClientError, gaierror, asyncio.TimeoutError, DisconnectedError) as e:
+        except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
             logging.debug("{0} : {1}".format(str(e), self.pubkey))
             self.state = Node.OFFLINE
         except jsonschema.ValidationError:
@@ -371,7 +392,7 @@ class Node(QObject):
             logging.debug("Error in peering reply : {0}".format(str(e)))
             self.state = Node.OFFLINE
             self.changed.emit()
-        except (ClientError, gaierror, asyncio.TimeoutError, DisconnectedError) as e:
+        except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
             logging.debug("{0} : {1}".format(str(e), self.pubkey))
             self.state = Node.OFFLINE
         except jsonschema.ValidationError:
@@ -398,7 +419,7 @@ class Node(QObject):
             logging.debug("Error in summary : {0}".format(e))
             self.state = Node.OFFLINE
             self.changed.emit()
-        except (ClientError, gaierror, asyncio.TimeoutError, DisconnectedError) as e:
+        except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
             logging.debug("{0} : {1}".format(str(e), self.pubkey))
             self.state = Node.OFFLINE
         except jsonschema.ValidationError:
@@ -433,7 +454,7 @@ class Node(QObject):
                 logging.debug("error in uid reply : {0}".format(self.pubkey))
                 self.state = Node.OFFLINE
                 self.identity_changed.emit()
-        except (ClientError, gaierror, asyncio.TimeoutError, DisconnectedError) as e:
+        except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
             logging.debug("{0} : {1}".format(str(e), self.pubkey))
             self.state = Node.OFFLINE
         except jsonschema.ValidationError:
@@ -469,7 +490,7 @@ class Node(QObject):
                                                                                         leaf=leaf_hash))
                         self.state = Node.OFFLINE
                         self.changed.emit()
-                    except (ClientError, gaierror, asyncio.TimeoutError, DisconnectedError) as e:
+                    except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
                         logging.debug("{0} : {1}".format(str(e), self.pubkey))
                         self.state = Node.OFFLINE
                     except jsonschema.ValidationError:
@@ -481,7 +502,7 @@ class Node(QObject):
             logging.debug("Error in peers reply")
             self.state = Node.OFFLINE
             self.changed.emit()
-        except (ClientError, gaierror, asyncio.TimeoutError, DisconnectedError) as e:
+        except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
             logging.debug("{0} : {1}".format(str(e), self.pubkey))
             self.state = Node.OFFLINE
         except jsonschema.ValidationError: