diff --git a/python_payload/st3m/ui/view.py b/python_payload/st3m/ui/view.py
index eb042b6790b446e97f73e78d9e937228130d161d..465a4de163603dbc314cc06a204594583597bce2 100644
--- a/python_payload/st3m/ui/view.py
+++ b/python_payload/st3m/ui/view.py
@@ -260,6 +260,12 @@ class ViewManager(Responder):
 
     def draw(self, ctx: Context) -> None:
         if self._transitioning:
+            if self._transition == 0.0:
+                ctx.save()
+                self._outgoing.draw(ctx)
+                ctx.restore()
+                return
+
             if self._transition >= 1.0:
                 self._fully_drawn += 1
 
@@ -292,7 +298,6 @@ class ViewManager(Responder):
         self._pending = r
         self._pending_vt = override_vt
         self._pending_direction = direction
-        self._end_transition()
 
     def push(self, r: View, override_vt: Optional[ViewTransition] = None) -> None:
         """