diff --git a/reset.yml b/reset.yml
index 20015700a53777b798a71e2d2220289fb79da490..6fa9fa3accb1883816c512488a151e917ce8cc44 100644
--- a/reset.yml
+++ b/reset.yml
@@ -29,6 +29,9 @@
         msg: "Reset confirmation failed"
       when: reset_confirmation != "yes"
 
+    - name: Gather information about installed services
+      service_facts:
+
   environment: "{{ proxy_disable_env }}"
   roles:
     - { role: kubespray-defaults}
diff --git a/roles/reset/tasks/main.yml b/roles/reset/tasks/main.yml
index 27fea6721d8d464a80b658330680e9b79d45c24e..9af7f079d6441f5055d09509b7dafae682304657 100644
--- a/roles/reset/tasks/main.yml
+++ b/roles/reset/tasks/main.yml
@@ -65,6 +65,7 @@
   when:
     - crictl.stat.exists
     - container_manager in ["crio", "containerd"]
+    - ansible_facts.services['containerd.service'] is defined or ansible_facts.services['cri-o.service'] is defined
   ignore_errors: true  # noqa ignore-errors
 
 - name: reset | force remove all cri containers
@@ -80,6 +81,7 @@
     - crictl.stat.exists
     - container_manager in ["crio", "containerd"]
     - deploy_container_engine
+    - ansible_facts.services['containerd.service'] is defined or ansible_facts.services['cri-o.service'] is defined
   ignore_errors: true  # noqa ignore-errors
 
 - name: reset | stop and disable crio service
@@ -109,6 +111,7 @@
   when:
     - crictl.stat.exists
     - container_manager == "containerd"
+    - ansible_facts.services['containerd.service'] is defined or ansible_facts.services['cri-o.service'] is defined
   ignore_errors: true  # noqa ignore-errors
 
 - block:
@@ -122,6 +125,7 @@
       when:
         - crictl.stat.exists
         - container_manager == "containerd"
+        - ansible_facts.services['containerd.service'] is defined or ansible_facts.services['cri-o.service'] is defined
 
   rescue:
     - name: reset | force remove all cri pods (rescue)