diff --git a/plugins/modules/ipahost.py b/plugins/modules/ipahost.py
index b13039594002009f8189bf46f87e9173fc0280d5..dba418153874ab45407437014759ac9966e33fdc 100644
--- a/plugins/modules/ipahost.py
+++ b/plugins/modules/ipahost.py
@@ -513,19 +513,25 @@ def check_parameters(
                    "userclass", "auth_ind", "requires_pre_auth",
                    "ok_as_delegate", "ok_to_auth_as_delegate", "force",
                    "reverse", "ip_address", "update_password"]
+        for x in invalid:
+            if vars()[x] is not None:
+                module.fail_json(
+                    msg="Argument '%s' can not be used with state '%s'" %
+                    (x, state))
         if action == "host":
-            invalid.extend([
+            invalid = [
                 "certificate", "managedby_host", "principal",
                 "allow_create_keytab_user", "allow_create_keytab_group",
                 "allow_create_keytab_host", "allow_create_keytab_hostgroup",
                 "allow_retrieve_keytab_user", "allow_retrieve_keytab_group",
                 "allow_retrieve_keytab_host",
-                "allow_retrieve_keytab_hostgroup"])
-        for x in invalid:
-            if vars()[x] is not None:
-                module.fail_json(
-                    msg="Argument '%s' can not be used with state '%s'" %
-                    (x, state))
+                "allow_retrieve_keytab_hostgroup"
+            ]
+            for x in invalid:
+                if vars()[x] is not None:
+                    module.fail_json(
+                        msg="Argument '%s' can only be used with action "
+                        "'member' for state '%s'" % (x, state))
 
 
 def main():