diff --git a/src/Components/CMDEd.tsx b/src/Components/CMDEd.tsx
index feb9d6435b46849639ec401b0565d998b9e5a061..5e4774be88fd6670dcdc5d7e3b16af8d3f11e822 100644
--- a/src/Components/CMDEd.tsx
+++ b/src/Components/CMDEd.tsx
@@ -296,13 +296,14 @@ export default class CMDEditor extends Component<
    * This function is used to simulate the offline mode.
    */
   switchConnection(): void {
-    this.setState({ isConnected: !this.state.isConnected });
-    if (this.state.isConnected) {
-      this.pullValue();
-    } else {
-      clearTimeout(this.timeoutPush);
-      clearTimeout(this.timeoutGet);
-    }
+    this.setState({ isConnected: !this.state.isConnected }, () => {
+      if (this.state.isConnected) {
+        this.pullValue();
+      } else {
+        clearTimeout(this.timeoutPush);
+        clearTimeout(this.timeoutGet);
+      }
+    });
   }
 
   /**