diff --git a/roles/container-engine/validate-container-engine/tasks/main.yml b/roles/container-engine/validate-container-engine/tasks/main.yml
index 22596e17ce8112e9485af939747c7d6903aa9a3b..175aa016e2892f27ff6a3197b2fd43cad1244b70 100644
--- a/roles/container-engine/validate-container-engine/tasks/main.yml
+++ b/roles/container-engine/validate-container-engine/tasks/main.yml
@@ -16,6 +16,9 @@
     path: "/etc/systemd/system/kubelet.service"
   register: kubelet_systemd_unit_exists
 
+- name: Populate service facts
+  service_facts:
+
 - name: Check if containerd is installed
   find:
     file_type: file
@@ -72,16 +75,17 @@
       when:
         - kubelet_systemd_unit_exists
     - name: Remove Containerd
-      include_role:
+      import_role:
         name: container-engine/containerd
-        apply:
-          tags:
-            - reset_containerd
+        tasks_from: reset
+  vars:
+    service_name: containerd.service
   when:
     - not (is_ostree or (ansible_distribution == "Flatcar Container Linux by Kinvolk") or (ansible_distribution == "Flatcar"))
     - container_manager != "containerd"
     - docker_installed.matched == 0
     - containerd_installed.matched > 0
+    - ansible_facts.services[service_name]['state'] == 'running'
 
 - name: Uninstall docker
   block:
@@ -100,15 +104,16 @@
       when:
         - kubelet_systemd_unit_exists
     - name: Remove Docker
-      include_role:
+      import_role:
         name: container-engine/docker
-        apply:
-          tags:
-            - reset_docker
+        tasks_from: reset
+  vars:
+    service_name: docker.service
   when:
     - not (is_ostree or (ansible_distribution == "Flatcar Container Linux by Kinvolk") or (ansible_distribution == "Flatcar"))
     - container_manager != "docker"
     - docker_installed.matched > 0
+    - ansible_facts.services[service_name]['state'] == 'running'
 
 - name: Uninstall crio
   block:
@@ -127,12 +132,13 @@
       when:
         - kubelet_systemd_unit_exists
     - name: Remove CRI-O
-      include_role:
-        name: container-engine/crio
-        apply:
-          tags:
-            - reset_crio
+      import_role:
+        name: container-engine/cri-o
+        tasks_from: reset
+  vars:
+    service_name: crio.service
   when:
     - not (is_ostree or (ansible_distribution == "Flatcar Container Linux by Kinvolk") or (ansible_distribution == "Flatcar"))
     - container_manager != "crio"
     - crio_installed.matched > 0
+    - ansible_facts.services[service_name]['state'] == 'running'