in ['conditions', 'blockers', 'enables', 'disables']]
         calendarize = self._form.get_bool('calendarize')
         step_of = self._form.get_all_str('step_of')
-        suppressions = self._form.get_all_int('suppresses')
+        suppressions = self._form.get_all_int('suppressed_steps')
         kept_steps = self._form.get_all_int('kept_steps')
         new_top_step_procs = self._form.get_all_str('new_top_step')
         new_steps_to = {}
 
                 target = getattr(process, name)
                 target += [Condition.by_id(db_conn, c_id)]
         for row_ in db_conn.row_where('process_steps', 'owner', process.id_):
-            step = ProcessStep.from_table_row(db_conn, row_)
+            # NB: It's tempting to ProcessStep.from_table_row(row_) directly,
+            # but we don't want to unnecessarily invalidate cached ProcessSteps
+            # elsewhere (notably, other Processes .suppressed_steps), as a
+            # complete reload like this would do
+            step = ProcessStep.by_id(db_conn, row_[0])
             process.explicit_steps += [step]
         for row_ in db_conn.row_where('process_step_suppressions', 'process',
                                       process.id_):
 
 </td>
 {% if (not step_node.is_explicit) and (not step_node.seen) %}
 <td>
-<input type="checkbox" name="suppresses" value="{{step_id}}" {% if step_node.is_suppressed %}checked{% endif %}> suppress
+<input type="checkbox" name="suppressed_steps" value="{{step_id}}" {% if step_node.is_suppressed %}checked{% endif %}> suppress
 </td>
 {% endif %}
 </tr>