diff --git a/src/evalfunc.c b/src/evalfunc.c
index 13e6d6e..2e9b16a 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -11578,7 +11578,7 @@
 	if (argvars[1].v_type != VAR_DICT)
 	{
 	    EMSG(_(e_dictreq));
-	    return;
+	    goto cleanup;
 	}
 	dict = argvars[1].vval.v_dict;
 
@@ -11589,7 +11589,7 @@
 	    {
 		EMSG2(_("E158: Invalid buffer name: %s"),
 						tv_get_string(&di->di_tv));
-		return;
+		goto cleanup;
 	    }
 	}
 	if (dict_find(dict, (char_u *)"id", -1) != NULL)
@@ -11608,6 +11608,8 @@
 	if (sign_unplace(sign_id, group, buf, 0) == OK)
 	    rettv->vval.v_number = 0;
     }
+
+cleanup:
     vim_free(group);
 }
 #endif
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 5917fc6..b26312a 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -385,6 +385,8 @@
 	      \ {"lnum" : -1})', 'E885:')
   call assert_fails('call sign_place(22, "", "sign1", "Xsign",
 	      \ {"lnum" : 0})', 'E885:')
+  call assert_fails('call sign_place(22, "", "sign1", "Xsign",
+	      \ {"lnum" : []})', 'E745:')
   call assert_equal(-1, sign_place(1, "*", "sign1", "Xsign", {"lnum" : 10}))
 
   " Tests for sign_getplaced()
@@ -420,9 +422,9 @@
 	      \ {'id' : 20, 'buffer' : 'buffer.c'})", 'E158:')
   call assert_fails("call sign_unplace('',
 	      \ {'id' : 20, 'buffer' : ''})", 'E158:')
-  call assert_fails("call sign_unplace('',
+  call assert_fails("call sign_unplace('g1',
 	      \ {'id' : 20, 'buffer' : 200})", 'E158:')
-  call assert_fails("call sign_unplace('', 'mySign')", 'E715:')
+  call assert_fails("call sign_unplace('g1', 'mySign')", 'E715:')
 
   " Tests for sign_undefine()
   call assert_equal(0, sign_undefine("sign1"))
@@ -664,7 +666,7 @@
   call delete("Xsign")
   call sign_unplace('*')
   call sign_undefine()
-  enew  | only
+  enew | only
 endfunc
 
 " Place signs used for ":sign unplace" command test
@@ -1013,7 +1015,7 @@
 
   call sign_unplace('*')
   call sign_undefine()
-  enew  | only
+  enew | only
   call delete("Xsign1")
   call delete("Xsign2")
 endfunc
@@ -1042,6 +1044,9 @@
 
   call assert_equal(1, sign_place(0, 'g1', 'sign1', 'Xsign',
 	      \ {'lnum' : 11}))
+  " Check for the next generated sign id in this group
+  call assert_equal(2, sign_place(0, 'g1', 'sign1', 'Xsign',
+	      \ {'lnum' : 12}))
   call assert_equal(0, sign_unplace('g1', {'id' : 1}))
   call assert_equal(10,
 	      \ sign_getplaced('Xsign', {'id' : 1})[0].signs[0].lnum)
@@ -1049,7 +1054,7 @@
   call delete("Xsign")
   call sign_unplace('*')
   call sign_undefine()
-  enew  | only
+  enew | only
 endfunc
 
 " Test for sign priority
@@ -1085,6 +1090,8 @@
   " Error case
   call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign',
 	      \ [])", 'E715:')
+  call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign',
+	      \ {'priority' : []})", 'E745:')
   call sign_unplace('*')
 
   " Tests for the :sign place command with priority
@@ -1104,7 +1111,7 @@
 
   call sign_unplace('*')
   call sign_undefine()
-  enew  | only
+  enew | only
   call delete("Xsign")
 endfunc
 
@@ -1146,6 +1153,6 @@
 
   call sign_unplace('*')
   call sign_undefine()
-  enew  | only
+  enew | only
   call delete("Xsign")
 endfunc
diff --git a/src/version.c b/src/version.c
index e76bf4b..c98fc50 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    660,
+/**/
     659,
 /**/
     658,
