diff --git a/src/editor.jl b/src/editor.jl
index f60d99550f0f90148d03cbb74810843f25d2beaa..d385c4c594b3271cd08fca2c0225eed9266297c7 100644
--- a/src/editor.jl
+++ b/src/editor.jl
@@ -41,7 +41,8 @@ function larvaeditor(path=nothing;
 
     # to (re-)load a file, the app is reloaded with the filepath as sole information
     # from previous session
-    input = Ref{Union{Nothing, String}}(path)
+    T = Ref{Union{Nothing, String}}
+    input = path isa T ? path : T(path)
 
     App(title=title) do session::Session