diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 8bb025c..1278c97 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -7971,6 +7971,9 @@
 			name	name of the defined sign
 			priority	sign priority
 
+		The returned signs in a buffer are ordered by their line
+		number.
+
 		Returns an empty list on failure or if there are no placed
 		signs.
 
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 58f5806..cd0888b 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -11462,7 +11462,7 @@
     buf = tv_get_buf(&argvars[3], FALSE);
     if (buf == NULL)
     {
-	EMSG2(_("E158: Invalid buffer name: %s"), tv_get_string(&argvars[2]));
+	EMSG2(_("E158: Invalid buffer name: %s"), tv_get_string(&argvars[3]));
 	goto cleanup;
     }
 
diff --git a/src/sign.c b/src/sign.c
index 0dfc552..686a943 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -1237,6 +1237,7 @@
     char_u	*arg1;
     char_u	*name;
     char_u	*filename = NULL;
+    int		lnum_arg = FALSE;
 
     // first arg could be placed sign id
     arg1 = arg;
@@ -1259,6 +1260,7 @@
 	    arg += 5;
 	    *lnum = atoi((char *)arg);
 	    arg = skiptowhite(arg);
+	    lnum_arg = TRUE;
 	}
 	else if (STRNCMP(arg, "*", 1) == 0 && cmd == SIGNCMD_UNPLACE)
 	{
@@ -1327,7 +1329,8 @@
 
     // If the filename is not supplied for the sign place or the sign jump
     // command, then use the current buffer.
-    if (filename == NULL && (cmd == SIGNCMD_PLACE || cmd == SIGNCMD_JUMP))
+    if (filename == NULL && ((cmd == SIGNCMD_PLACE && lnum_arg)
+		|| cmd == SIGNCMD_JUMP))
 	*buf = curwin->w_buffer;
 
     return OK;
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 9241046..07547bb 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -663,6 +663,18 @@
   call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" .
 	      \ "    line=10  id=5  name=sign1  priority=10\n", a)
 
+  " Place signs in more than one buffer and list the signs
+  split foo
+  set buftype=nofile
+  sign place 25 line=76 name=sign1 priority=99 file=foo
+  let a = execute('sign place')
+  call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" .
+	      \ "    line=10  id=5  name=sign1  priority=10\n" .
+	      \ "Signs for foo:\n" .
+	      \ "    line=76  id=25  name=sign1  priority=99\n", a)
+  close
+  bwipe foo
+
   " :sign place group={group}
   let a = execute('sign place group=g1')
   call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" .
diff --git a/src/version.c b/src/version.c
index eb7b268..13f7909 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    702,
+/**/
     701,
 /**/
     700,
