diff --git a/roles/etcd/tasks/main.yml b/roles/etcd/tasks/main.yml
index cdd634517b0979f44ba0db1ce3969d6271407ac2..394e5de6435050793cf1adfd7148846dd97e71cf 100644
--- a/roles/etcd/tasks/main.yml
+++ b/roles/etcd/tasks/main.yml
@@ -15,22 +15,22 @@
 - include: refresh_config.yml
   when: is_etcd_master
 
-- name: Ensure etcd is running
-  service:
-    name: etcd
-    state: started
-    enabled: yes
-  when: is_etcd_master
-
 - name: Restart etcd if binary or certs changed
   command: /bin/true
   notify: restart etcd
   when: etcd_deployment_type == "host" and etcd_copy.stdout_lines and is_etcd_master
     or etcd_secret_changed|default(false)
 
-# Reload systemd before starting service
+# reload-systemd
 - meta: flush_handlers
 
+- name: Ensure etcd is running
+  service:
+    name: etcd
+    state: started
+    enabled: yes
+  when: is_etcd_master
+
 # After etcd cluster is assembled, make sure that
 # initial state of the cluster is in `existing`
 # state insted of `new`.