diff --git a/utils/templates/ipamodule+member.py.in b/utils/templates/ipamodule+member.py.in
index 1515ccc194ae5e10d66adcc9e408b571f3e8dd60..f0c2edb99239544c4ca2dbe074ac40109e66c797 100644
--- a/utils/templates/ipamodule+member.py.in
+++ b/utils/templates/ipamodule+member.py.in
@@ -202,6 +202,9 @@ def main():
             # Make sure $name exists
             res_find = find_$name(ansible_module, name)
 
+            # add/del lists
+            PARAMETER2_add, PARAMETER2_del = [], []
+
             # Create command
             if state == "present":
 
@@ -228,19 +231,6 @@ def main():
                         PARAMETER2_add, PARAMETER2_del = gen_add_del_lists(
                                 PARAMETER2, res_find.get("member_PARAMETER2"))
 
-                        # Add members
-                        if len(PARAMETER2_add) > 0:
-                            commands.append([name, "$name_add_member",
-                                             {
-                                                 "PARAMETER2": PARAMETER2_add,
-                                             }])
-                        # Remove members
-                        if len(PARAMETER2_del) > 0:
-                            commands.append([name, "$name_remove_member",
-                                             {
-                                                 "PARAMETER2": PARAMETER2_del,
-                                             }])
-
                 elif action == "member":
                     if res_find is None:
                         ansible_module.fail_json(
@@ -248,16 +238,10 @@ def main():
 
                     # Reduce add lists for PARAMETER2
                     # to new entries only that are not in res_find.
-                    if PARAMETER2 is not None and \
-                       "API_PARAMETER2_NAME" in res_find:
-                        PARAMETER2 = gen_add_list(
-                            PARAMETER2, res_find["API_PARAMETER2_NAME"])
-
                     if PARAMETER2 is not None:
-                        commands.append([name, "$name_add_member",
-                                         {
-                                             "PARAMETER2": PARAMETER2,
-                                         }])
+                        PARAMETER2_add = gen_add_list(
+                            PARAMETER2, res_find.get("member_PARAMETER2"))
+
 
             elif state == "absent":
                 if action == "$name":
@@ -272,18 +256,27 @@ def main():
                     # Reduce del lists of member_host and member_hostgroup,
                     # to the entries only that are in res_find.
                     if PARAMETER2 is not None:
-                        PARAMETER2 = gen_intersection_list(
-                            PARAMETER2, res_find.get("API_PARAMETER2_NAME"))
-
-                    if PARAMETER2 is not None:
-                        commands.append([name, "$name_remove_member",
-                                         {
-                                             "PARAMETER2": PARAMETER2,
-                                         }])
+                        PARAMETER2_del = gen_intersection_list(
+                            PARAMETER2, res_find.get("member_PARAMETER2"))
 
             else:
                 ansible_module.fail_json(msg="Unkown state '%s'" % state)
 
+            # Member management
+
+            # Add members
+            if PARAMETER2_add:
+                commands.append([name, "$name_add_member",
+                                 {
+                                     "PARAMETER2": PARAMETER2_add,
+                                 }])
+
+            # Remove members
+            if PARAMETER2_del:
+                commands.append([name, "$name_remove_member",
+                                 {
+                                     "PARAMETER2": PARAMETER2_del,
+                                 }])
 
         # Execute commands