diff --git a/manifests/dns/cache_packages.pp b/manifests/dns/cache_packages.pp
index 7b3becac6585b6ec48dce73a2cfc579e04da305b..f6e648b31a94e817d8fdc344ee5fefdbab8e6dea 100644
--- a/manifests/dns/cache_packages.pp
+++ b/manifests/dns/cache_packages.pp
@@ -33,10 +33,12 @@ class base::dns::cache_packages {
       notify  => Service['dnsmasq'],
     }
 
-    # Define the service and make sure it runs.
+    # Define the service and make sure it runs. Restart the service if
+    # /etc/resolv.conf changes.
     service { 'dnsmasq':
-      ensure  => 'running',
-      require => Package['dnsmasq'],
+      ensure    => 'running',
+      require   => Package['dnsmasq'],
+      subscribe => File['/etc/resolv.conf'],
     }
   }
 }