diff --git a/roles/dnsmasq/tasks/main.yml b/roles/dnsmasq/tasks/main.yml
index 62fe084af0ed766fd4721bf3988db2a3f61ecb58..526e162aef9ee0179a4081174b5578369c2132a0 100644
--- a/roles/dnsmasq/tasks/main.yml
+++ b/roles/dnsmasq/tasks/main.yml
@@ -59,13 +59,14 @@
 
 
 - name: check resolvconf
-  stat: path=/etc/resolvconf/resolv.conf.d/head
+  shell: which resolvconf
   register: resolvconf
+  ignore_errors: yes
 
 - name: target resolv.conf file
   set_fact:
     resolvconffile: >-
-      {%- if resolvconf.stat.exists == True -%}/etc/resolvconf/resolv.conf.d/head{%- else -%}/etc/resolv.conf{%- endif -%}
+      {%- if resolvconf.rc == 0 -%}/etc/resolvconf/resolv.conf.d/head{%- else -%}/etc/resolv.conf{%- endif -%}
 
 - name: Add search resolv.conf
   lineinfile:
@@ -109,6 +110,6 @@
 - name: update resolvconf
   command: resolvconf -u
   changed_when: False
-  when: resolvconf.stat.exists == True
+  when: resolvconf.rc == 0
 
 - meta: flush_handlers