diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper
index 2a12394..da98fa3 100755
--- a/bin/tmux-edit-helper
+++ b/bin/tmux-edit-helper
@@ -18,11 +18,11 @@ fi
 
 _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock"
 
-tmux select-window -t nvim 2>/dev/null ||
-	tmux new-window -S -n nvim \
-		-e "BUILD_COMMAND=$BUILD_COMMAND" \
-		-e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \
-		-e "GOFLAGS=$GOFLAGS" \
-		nvim --listen "$_nvim_socket"
+tmux select-window -t nvim 2>/dev/null && exec nvim --server "$_nvim_socket" --remote "$_file"
 
-nvim --server "$_nvim_socket" --remote "$_file"
+# nvim is not running/listening on remote socket, so start it.
+tmux new-window -S -n nvim \
+	-e "BUILD_COMMAND=$BUILD_COMMAND" \
+	-e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \
+	-e "GOFLAGS=$GOFLAGS" \
+	nvim --listen "$_nvim_socket" "$_file"