diff --git a/lib/emit.js b/lib/emit.js
index <HASH>..<HASH> 100644
--- a/lib/emit.js
+++ b/lib/emit.js
@@ -797,10 +797,10 @@ Ep.explodeStatement = function(path, labelId) {
           self.explodeStatement(path.get("finalizer"));
         });
 
-        self.emit(b.callExpression(
+        self.emit(b.returnStatement(b.callExpression(
           self.contextProperty("finish"),
           [finallyEntry.firstLoc]
-        ));
+        )));
       }
     });
Return the result of context.finish(finallyLoc);

In case we need to perform a pending abrupt completion because the finally
block did not override it, this commit forces another iteration of the
dispatch loop, so that context.next will be examined again.

Fixes #<I>.