diff --git a/ansible/roles/prechecks/tasks/service_checks.yml b/ansible/roles/prechecks/tasks/service_checks.yml
index 14aed9904d..29e9f90173 100644
--- a/ansible/roles/prechecks/tasks/service_checks.yml
+++ b/ansible/roles/prechecks/tasks/service_checks.yml
@@ -12,11 +12,13 @@
   failed_when: result | failed
                or (result.stdout | from_yaml).Server.Version | regex_replace('(\\d+\\.\\d+\\.\\d+).*', '\\1') | version_compare(docker_version_min, '<')
 
-- name: Checking if 'MountFlags' in /lib/systemd/system/docker.service is set to 'shared'
-  command: cat /lib/systemd/system/docker.service
+# When MountFlags is set to shared, a signal bit configured on 20th bit of a number
+# We need to check the 20th bit. 2^20 = 1048576. So we are validating against it.
+- name: Checking if 'MountFlags' for docker service is set to 'shared'
+  command: systemctl show docker
   register: result
   changed_when: false
-  failed_when: result.stdout.find('MountFlags=shared') == -1
+  failed_when: result.stdout.find('MountFlags=1048576') == -1
   when:
     - (inventory_hostname in groups['neutron-dhcp-agent']
        or inventory_hostname in groups['neutron-l3-agent']