Index: web_ui.py
===================================================================
--- web_ui.py	(revision 5627)
+++ web_ui.py	(working copy)
@@ -206,7 +206,13 @@
                         info += ': '
             else:
                 return None
-            kind, verb = status_map[status]
+            if status in status_map:
+                kind, verb = status_map[status]
+            else: # non-standard status
+                info = tag('status changed from ', tag.i(comment), ' to ', tag.i(status), tag.br())
+                comment = None
+                kind = 'editedticket'
+                verb = 'updated'
             title = ctx.format_summary(summary, status, resolution, type)
             title = tag('Ticket ', tag.em(ctx.shortname(), title=title),
                         ' (', shorten_line(summary), ') ', verb)
@@ -249,8 +255,9 @@
                 if field == 'comment':
                     comment = newvalue
                     cid = oldvalue and oldvalue.split('.')[-1]
-                elif field == 'status' and newvalue in ('reopened', 'closed'):
+                elif field == 'status': # anything is good
                     status = newvalue
+                    comment = oldvalue
                 else:
                     fields[field] = newvalue
             if previous_update:

