diff --git a/python_payload/st3m/ui/view.py b/python_payload/st3m/ui/view.py
index e5217641d869ae5516792f949227816696fb3919..a3560a87f920a7ebc531771778638fd4cc563808 100644
--- a/python_payload/st3m/ui/view.py
+++ b/python_payload/st3m/ui/view.py
@@ -167,10 +167,14 @@ class ViewManager(Responder):
                 vt = self._overriden_vt
 
             if self._incoming is not None and self._outgoing is not None:
+                ctx.save()
                 vt.draw(ctx, self._transition, self._incoming, self._outgoing)
+                ctx.restore()
                 return
         if self._incoming is not None:
+            ctx.save()
             self._incoming.draw(ctx)
+            ctx.restore()
 
     def replace(self, r: View, overide_vt: Optional[ViewTransition] = None) -> None:
         """