diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 48edb2e742b9138aaa6513896305d153ef7ccb78..44c290d1f3a905eef3d20b8b30ab50da4fb79f79 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1244,8 +1244,8 @@ do_cmdline(cmdline, getline, cookie, flags)
 	{
 	    int idx = cleanup_conditionals(&cstack, 0, TRUE);
 
-	    if (idx == cstack.cs_idx)
-		--idx;	    /* remove at least one */
+	    if (idx >= 0)
+		--idx;	    /* remove try block not in its finally clause */
 	    rewind_conditionals(&cstack, idx, CSF_WHILE | CSF_FOR,
 							&cstack.cs_looplevel);
 	}