diff -r bf5ff407f32f -r a7602257a825 src/Pure/PIDE/headless.scala --- a/src/Pure/PIDE/headless.scala Tue Dec 20 13:59:07 2022 +0100 +++ b/src/Pure/PIDE/headless.scala Tue Dec 20 16:34:13 2022 +0100 @@ -390,8 +390,9 @@ val theory_progress = (for { - (name, node_status) <- st1.nodes_status.present.iterator - if changed_st.changed_nodes(name) && !st.already_committed.isDefinedAt(name) + (name, node_status) <- st1.nodes_status.present().iterator + if !node_status.is_empty && changed_st.changed_nodes(name) && + !st.already_committed.isDefinedAt(name) p1 = node_status.percentage if p1 > 0 && !st.nodes_status.get(name).map(_.percentage).contains(p1) } yield Progress.Theory(name.theory, percentage = Some(p1))).toList