diff --git a/src/sakia/gui/dialogs/connection_cfg/view.py b/src/sakia/gui/dialogs/connection_cfg/view.py
index 102b266f765b712bf9b3961752fda71d72bcf709..9444351e5b68a297c46ff7cc9218616df007e3d7 100644
--- a/src/sakia/gui/dialogs/connection_cfg/view.py
+++ b/src/sakia/gui/dialogs/connection_cfg/view.py
@@ -1,3 +1,4 @@
+import asyncio
 from PyQt5.QtWidgets import QDialog
 from PyQt5.QtCore import pyqtSignal, Qt, QElapsedTimer, QDateTime, QCoreApplication
 from .connection_cfg_uic import Ui_ConnectionConfigurationDialog
@@ -5,6 +6,7 @@ from .congratulation_uic import Ui_CongratulationPopup
 from duniterpy.key import SigningKey, ScryptParams
 from math import ceil, log
 from sakia.gui.widgets import toast
+from sakia.decorators import asyncify
 from sakia.helpers import timestamp_to_dhms
 from sakia.gui.widgets.dialogs import dialog_async_exec, QAsyncMessageBox
 from sakia.constants import ROOT_SERVERS, G1_LICENCE
@@ -156,18 +158,18 @@ class ConnectionConfigView(QDialog, Ui_ConnectionConfigurationDialog):
         :param float ratio: the ratio of progress of current step (between 0 and 1)
         :return:
         """
-        QCoreApplication.processEvents()
-        value = self.progress_bar.value()
-        next_value = value + 1000000*step_ratio
         SMOOTHING_FACTOR = 0.005
-        speed_percent_by_ms = (next_value - value) / self.timer.elapsed()
-        self.average_speed = SMOOTHING_FACTOR * self.last_speed + (1 - SMOOTHING_FACTOR) * self.average_speed
-        remaining = (self.progress_bar.maximum() - next_value) / self.average_speed
-        self.last_speed = speed_percent_by_ms
-        displayed_remaining_time = QDateTime.fromTime_t(remaining).toUTC().toString("hh:mm:ss")
-        self.progress_bar.setFormat(self.tr("{0} scs remaining...".format(displayed_remaining_time)))
-        self.progress_bar.setValue(next_value)
-        self.timer.restart()
+        if self.timer.elapsed() > 0:
+            value = self.progress_bar.value()
+            next_value = value + 1000000*step_ratio
+            speed_percent_by_ms = (next_value - value) / self.timer.elapsed()
+            self.average_speed = SMOOTHING_FACTOR * self.last_speed + (1 - SMOOTHING_FACTOR) * self.average_speed
+            remaining = (self.progress_bar.maximum() - next_value) / self.average_speed
+            self.last_speed = speed_percent_by_ms
+            displayed_remaining_time = QDateTime.fromTime_t(remaining).toUTC().toString("hh:mm:ss")
+            self.progress_bar.setFormat(self.tr("{0} remaining...".format(displayed_remaining_time)))
+            self.progress_bar.setValue(next_value)
+            self.timer.restart()
 
     def set_progress_steps(self, steps):
         self.progress_bar.setValue(0)