diff --git a/checkmk/debian/init.sls b/checkmk/debian/init.sls
index fe4d9f0b9947467346df220c3cbb597d5c526fcb..6d5d307dc7ad5d4bd1d2852ea241d5d56c0e1626 100644
--- a/checkmk/debian/init.sls
+++ b/checkmk/debian/init.sls
@@ -20,6 +20,34 @@ hsh_checkmk_install_package:
       - pkg: hsh_checkmk_purge_xinetd
       - file: hsh_checkmk_fetch_package
 
+
+{# Stop old services to ensure new agent can function #}
+hsh_checkmk_stop_old_socket:
+  service.dead:
+    - name: check_mk.socket
+    - require:
+      - cmd: hsh_checkmk_install_package
+
+hsh_checkmk_stop_old_agent_socket:
+  service.dead:
+    - name: check-mk-agent.socket
+    - require:
+      - cmd: hsh_checkmk_install_package
+
+hsh_checkmk_stop_old_async_agent:
+  service.dead:
+    - name: check-mk-agent-async.service
+    - require:
+      - cmd: hsh_checkmk_install_package
+
+hsh_checkmk_stop_old_async_service:
+  service.dead:
+    - name: check_mk-async.service
+    - require:
+      - cmd: hsh_checkmk_install_package
+
+
+{# Disable old services, too #}
 hsh_checkmk_disable_old_socket:
   service.disabled:
     - name: check_mk.socket