diff --git a/ansible/roles/neutron/tasks/deploy.yml b/ansible/roles/neutron/tasks/deploy.yml
index 959e584888d4e42f693ac67a32829ad35d171c10..af50675de49a1652fb956b9ea764f7e417d732b1 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 f22bf70b87c9483e71f0ef517a1f58ef48e40363..0000000000000000000000000000000000000000
--- 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 b2349494767f7bfab7b23db7c6906ad928cb409d..774f8af07af18689ab1aa66b876b13d3a249756f 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)