diff --git a/tests/slots/pyqt/windows/test_transfer.py b/tests/slots/pyqt/windows/test_transfer.py
index b5c50e792fe43b7695f15af137fc32fbecda5e69..3c1d0b708c0dd62902a21335caff7594cd96cf09 100644
--- a/tests/slots/pyqt/windows/test_transfer.py
+++ b/tests/slots/pyqt/windows/test_transfer.py
@@ -94,6 +94,11 @@ def test_transfer_success(
         # user click on Send button
         window.sendButton.click()
 
+    with qtbot.waitSignal(
+        window.fetch_sender_balance_from_network_async_qworker.finished, timeout=2000
+    ) as _:
+        pass
+
     # transfer success
     assert window.transfer_success is True
 
@@ -173,6 +178,11 @@ def test_transfer_failure(
         # user click on Send button
         window.sendButton.click()
 
+    with qtbot.waitSignal(
+        window.fetch_recipient_balance_from_network_async_qworker.finished, timeout=2000
+    ) as _:
+        pass
+
     # transfer failed
     assert window.transfer_success is False
 
diff --git a/tikka/slots/pyqt/windows/transfer.py b/tikka/slots/pyqt/windows/transfer.py
index b174c06245683c259c3ff2b4f6850e4a7813feef..ce010a8b680d57126e4a118173944e621eefd4d7 100644
--- a/tikka/slots/pyqt/windows/transfer.py
+++ b/tikka/slots/pyqt/windows/transfer.py
@@ -201,14 +201,14 @@ class TransferWindow(QDialog, Ui_TransferDialog):
         ##############################
         # fetch recipient balance
         self.fetch_recipient_balance_from_network_async_qworker = AsyncQWorker(
-            self.fetch_recipient_balance_from_network, self.mutex
+            self.fetch_recipient_balance_from_network, self.mutex, self
         )
         self.fetch_recipient_balance_from_network_async_qworker.finished.connect(
             self._on_finished_fetch_recipient_balance_from_network
         )
         # fetch sender balance
         self.fetch_sender_balance_from_network_async_qworker = AsyncQWorker(
-            self.fetch_sender_balance_from_network, self.mutex
+            self.fetch_sender_balance_from_network, self.mutex, self
         )
         self.fetch_sender_balance_from_network_async_qworker.finished.connect(
             self._on_finished_fetch_sender_balance_from_network
@@ -216,14 +216,14 @@ class TransferWindow(QDialog, Ui_TransferDialog):
 
         # fetch fees from network
         self.fetch_fees_from_network_async_qworker = AsyncQWorker(
-            self.fetch_fees_from_network, self.mutex
+            self.fetch_fees_from_network, self.mutex, self
         )
         self.fetch_fees_from_network_async_qworker.finished.connect(
             self._on_finished_fetch_fees_from_network
         )
         # send transfer to network
         self.send_tranfer_to_network_async_qworker = AsyncQWorker(
-            self.send_transfer_to_network, self.mutex
+            self.send_transfer_to_network, self.mutex, self
         )
         self.send_tranfer_to_network_async_qworker.finished.connect(
             self._on_finished_send_transfer_to_network
@@ -565,8 +565,6 @@ class TransferWindow(QDialog, Ui_TransferDialog):
 
         :return:
         """
-        self.fetch_recipient_balance_from_network_async_qworker.start()
-
         # sender account locked...
         if not self.application.wallets.is_unlocked(self.sender_account.address):
             # ask password...