diff --git a/ansible/roles/neutron/tasks/deploy.yml b/ansible/roles/neutron/tasks/deploy.yml
index 959e584888..af50675de4 100644
--- a/ansible/roles/neutron/tasks/deploy.yml
+++ b/ansible/roles/neutron/tasks/deploy.yml
@@ -1,6 +1,4 @@
 ---
-- include_tasks: ironic-check.yml
-
 - include_tasks: register.yml
   when: inventory_hostname in groups['neutron-server']
 
diff --git a/ansible/roles/neutron/tasks/ironic-check.yml b/ansible/roles/neutron/tasks/ironic-check.yml
deleted file mode 100644
index f22bf70b87..0000000000
--- a/ansible/roles/neutron/tasks/ironic-check.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- fail: msg="Ironic must be enabled when using networking-baremetal/ironic-neutron-agent"
-  when:
-    - enable_ironic_neutron_agent | bool
-    - not (enable_ironic | bool)
diff --git a/ansible/roles/neutron/tasks/precheck.yml b/ansible/roles/neutron/tasks/precheck.yml
index 432a15aa74..190d0ed1e7 100644
--- a/ansible/roles/neutron/tasks/precheck.yml
+++ b/ansible/roles/neutron/tasks/precheck.yml
@@ -57,3 +57,11 @@
   when:
     - (groups['inner-compute'] | default([]) | length > 0
        or groups['external-compute'] | default([]) | length > 0)
+
+- name: Checking whether Ironic enabled
+  local_action: fail msg="Ironic must be enabled when using networking-baremetal/ironic-neutron-agent"
+  changed_when: false
+  run_once: True
+  when:
+    - enable_ironic_neutron_agent | bool
+    - not (enable_ironic | bool)