diff --git a/tasks/main.yml b/tasks/main.yml
index 8d92dec9ca50e3c71cd005713dcae8820673500e..e5b6f298aa58de332a47e6da653b9c83e56bd9ae 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -11,6 +11,7 @@
         - dhcp_config is defined
 
 - name: APT install
+  when: ansible_pkg_mgr == 'apt'
   apt:
       name: isc-dhcp-server
       state: present
@@ -46,5 +47,6 @@
 - meta: flush_handlers
 
 - name: Wait for service to come online
+  when: ansible_os_family == 'Debian'
   wait_for:
       path: /var/run/dhcp-server/dhcpd.pid
diff --git a/tests/test_dhcp.py b/tests/test_dhcp.py
index 64b2c37ad9755dc60c49929e4a137bee5daed741..5a5e39ff9390f901ab843b8dd52d5e11bf3dcc9b 100644
--- a/tests/test_dhcp.py
+++ b/tests/test_dhcp.py
@@ -13,4 +13,5 @@ def test_dhcp_service(Service, Socket, SystemInfo):
         assert service.is_enabled
     except NotImplementedError:
         pass
-    assert Socket('udp://0.0.0.0:67').is_listening
+    if SystemInfo.type == 'linux':
+        assert Socket('udp://0.0.0.0:67').is_listening