diff --git a/plugins/modules/ipahost.py b/plugins/modules/ipahost.py
index 558560e8a638818f47eec3e2703b5d01e6da3efb..062f76808130956d47edd43311b2842b676ce2e7 100644
--- a/plugins/modules/ipahost.py
+++ b/plugins/modules/ipahost.py
@@ -409,7 +409,7 @@ from ansible.module_utils._text import to_text
 from ansible.module_utils.ansible_freeipa_module import temp_kinit, \
     temp_kdestroy, valid_creds, api_connect, api_command, compare_args_ipa, \
     module_params_get, gen_add_del_lists, encode_certificate, api_get_realm, \
-    is_ipv4_addr, is_ipv6_addr
+    is_ipv4_addr, is_ipv6_addr, ipalib_errors
 import six
 
 
@@ -871,7 +871,20 @@ def main():
 
             # Make sure host exists
             res_find = find_host(ansible_module, name)
-            res_find_dnsrecord = find_dnsrecord(ansible_module, name)
+            try:
+                res_find_dnsrecord = find_dnsrecord(ansible_module, name)
+            except ipalib_errors.NotFound as e:
+                msg = str(e)
+                if ip_address is None and \
+                   ("DNS is not configured" in msg or \
+                    "DNS zone not found" in msg):
+                    # IP address(es) not given and no DNS support in IPA
+                    # -> Ignore failure
+                    # IP address(es) not given and DNS zone is not found
+                    # -> Ignore failure
+                    res_find_dnsrecord = None
+                else:
+                    ansible_module.fail_json(msg="%s: %s" % (host, msg))
 
             # Create command
             if state == "present":
diff --git a/tests/host/test_host_ipaddresses.yml b/tests/host/test_host_ipaddresses.yml
index 0a97dd55d69cd4997a2cbf010df7543e91b51074..136a6101aca84b7c61137c3686e54f71b152c237 100644
--- a/tests/host/test_host_ipaddresses.yml
+++ b/tests/host/test_host_ipaddresses.yml
@@ -301,6 +301,15 @@
     register: result
     failed_when: result.changed
 
+  - name: Absent host01.ihavenodns.info test
+    ipahost:
+      ipaadmin_password: MyPassword123
+      hosts:
+      - name: host01.ihavenodns.info
+      state: absent
+    register: result
+    failed_when: result.changed
+
   - name: Host absent
     ipahost:
       ipaadmin_password: MyPassword123