diff --git a/loopy/schedule.py b/loopy/schedule.py
index 768dedcac68a804ca978f1d59b39227f82532665..e2c811ab870c49a00f36cffeaa0da9f33748846d 100644
--- a/loopy/schedule.py
+++ b/loopy/schedule.py
@@ -322,21 +322,34 @@ def group_insn_counts(kernel):
 
 # {{{ debug help
 
-def dump_schedule(schedule):
-    entries = []
+def dump_schedule(kernel, schedule):
+    lines = []
+    indent = ""
+
+    from loopy.kernel.data import ExpressionInstruction
     for sched_item in schedule:
         if isinstance(sched_item, EnterLoop):
-            entries.append("<%s>" % sched_item.iname)
+            lines.append(indent + "LOOP %s" % sched_item.iname)
+            indent += "    "
         elif isinstance(sched_item, LeaveLoop):
-            entries.append("</%s>" % sched_item.iname)
+            indent = indent[:-4]
+            lines.append(indent + "ENDLOOP %s" % sched_item.iname)
         elif isinstance(sched_item, RunInstruction):
-            entries.append(sched_item.insn_id)
+            insn = kernel.id_to_insn[sched_item.insn_id]
+            if isinstance(insn, ExpressionInstruction):
+                insn_str = "[%s] %s <- %s" % (
+                        insn.id, str(insn.assignee), str(insn.expression))
+            else:
+                insn_str = sched_item.insn_id
+            lines.append(indent + insn_str)
         elif isinstance(sched_item, Barrier):
-            entries.append("|")
+            lines.append(indent + "---BARRIER---")
         else:
             assert False
 
-    return " ".join(entries)
+    return "\n".join(
+            "% 4d: %s" % (i, line)
+            for i, line in enumerate(lines))
 
 
 class ScheduleDebugger:
@@ -478,6 +491,8 @@ def generate_loop_schedules_internal(
     else:
         rec_allow_boost = False
 
+    assert not allow_boost
+
     active_inames_set = frozenset(sched_state.active_inames)
 
     # {{{ decide about debug mode
@@ -497,11 +512,7 @@ def generate_loop_schedules_internal(
         print(kernel)
         print(75*"=")
         print("CURRENT SCHEDULE:")
-        print("%s (length: %d)" % (
-            dump_schedule(sched_state.schedule),
-            len(sched_state.schedule)))
-        print("(LEGEND: entry into loop: <iname>, exit from loop: </iname>, "
-                "instructions w/ no delimiters)")
+        print(dump_schedule(sched_state.kernel, sched_state.schedule))
         #print("boost allowed:", allow_boost)
         print(75*"=")
         print("LOOP NEST MAP:")