diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index afeb291d..65d286d9 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -2163,14 +2163,10 @@ pub fn jump_backward(cx: &mut Context) {
 //
 
 pub fn vsplit(cx: &mut Context) {
-    // TODO: use doc.id directly, this can only split saved files
-    let path = cx.doc().path().cloned();
+    use helix_view::editor::Action;
+    let id = cx.doc().id();
 
-    if let Some(path) = path {
-        // open the same file again. this will vsplit
-        cx.editor
-            .open(path, helix_view::editor::Action::VerticalSplit);
-    }
+    cx.editor.switch(id, Action::VerticalSplit);
 }
 
 pub fn space_mode(cx: &mut Context) {