diff --git a/roles/etcd/tasks/install_from_github.yml b/roles/etcd/tasks/install_from_github.yml
index 76b8fd04b195037275fde6be09b3f8eb4dd1bec3..e24cfa4ad221dab372f803d9c7e2a06367ad95ef 100644
--- a/roles/etcd/tasks/install_from_github.yml
+++ b/roles/etcd/tasks/install_from_github.yml
@@ -22,10 +22,12 @@
 
 - shell: "/usr/bin/etcd --version | awk '/^etcd/ {print $3}'"
   when: etcd_bin.stat.exists
+  check_mode: false
+  changed_when: false
   register: etcd_current_version
 
 - set_fact:
-    do_install_etcd: "{{ not etcd_bin.stat.exists or etcd_current_version != etcd_version }}"
+    do_install_etcd: "{{ (not etcd_bin.stat.exists) or (etcd_current_version.stdout != etcd_version) }}"
 
 - name: Download etcd binary
   get_url: