diff --git a/run/src/main/scala/sbt/TrapExit.scala b/run/src/main/scala/sbt/TrapExit.scala index 4b0de4f63..56980e3f6 100644 --- a/run/src/main/scala/sbt/TrapExit.scala +++ b/run/src/main/scala/sbt/TrapExit.scala @@ -242,10 +242,11 @@ private final class TrapExit(delegateManager: SecurityManager) extends SecurityM val t = tref.get if( (t eq null) || isDone(t)) unregister(id) - else + else { f(t) - if(isDone(t)) - unregister(id) + if(isDone(t)) + unregister(id) + } } } }