is_done = len(self._form_data.get_all_str('done')) > 0
         calendarize = len(self._form_data.get_all_str('calendarize')) > 0
         comment = self._form_data.get_str('comment', ignore_strict=True)
-        for filler in step_fillers:
+        for filler in [f for f in step_fillers if f != 'ignore']:
             target_id: int
             to_int = filler
             for prefix in [p for p in ['make_empty_', 'make_full_']
                 processes_to_make_empty += [target_id]
             elif filler.startswith('make_full_'):
                 processes_to_make_full += [target_id]
-            elif filler != 'ignore':
+            else:
                 adopted_child_ids += [target_id]
         to_remove = []
         for child in todo.children:
 
         step_proc3 = self._step_as_dict(2, [], 3, 5, True)
         expected['steps_todo_to_process'] = [step_proc2, step_proc3]
         self.check_json_get('/todo?id=1', expected)
+        # test 'ignore' values for 'step_filler' are ignored, and intable
+        # 'step_filler' values are interchangeable with those of 'adopt'
+        todo_post = {'adopt': 5, 'step_filler': ['ignore', 4]}
+        self.check_post(todo_post, '/todo?id=1')
+        self.check_json_get('/todo?id=1', expected)
         # test cannot adopt into non-top-level elements of chain
         self.post_process(4, proc_post)
         self.post_process(3, proc_post | {'new_top_step': 4, 'step_of': [1]})