diff --git a/src/json.c b/src/json.c
index accb6cf..e447383 100644
--- a/src/json.c
+++ b/src/json.c
@@ -220,7 +220,7 @@
     listitem_T	*li;
 
     if (rettv_list_alloc(res) == FAIL)
-	goto fail;
+	goto failsilent;
     ++reader->js_used; /* consume the '[' */
 
     while (TRUE)
@@ -253,6 +253,8 @@
 	    goto fail;
     }
 fail:
+    EMSG(_(e_invarg));
+failsilent:
     res->v_type = VAR_SPECIAL;
     res->vval.v_number = VVAL_NONE;
 }
@@ -268,7 +270,7 @@
     char_u	*key;
 
     if (rettv_dict_alloc(res) == FAIL)
-	goto fail;
+	goto failsilent;
     ++reader->js_used; /* consume the '{' */
 
     while (TRUE)
@@ -293,7 +295,7 @@
 	    if (key != NULL)
 		EMSG(_(e_emptykey));
 	    clear_tv(&tvkey);
-	    goto fail;
+	    goto failsilent;
 	}
 
 	json_skip_white(reader);
@@ -329,6 +331,8 @@
 	    goto fail;
     }
 fail:
+    EMSG(_(e_invarg));
+failsilent:
     res->v_type = VAR_SPECIAL;
     res->vval.v_number = VVAL_NONE;
 }
diff --git a/src/testdir/test_json.vim b/src/testdir/test_json.vim
index b306479..a1cfa93 100644
--- a/src/testdir/test_json.vim
+++ b/src/testdir/test_json.vim
@@ -1,4 +1,5 @@
 " Test for JSON functions.
+scriptencoding utf-8
 
 let s:json1 = '"str\"in\\g"'
 let s:var1 = "str\"in\\g"
@@ -95,11 +96,25 @@
   call assert_equal(type(v:none), type(jsondecode('')))
   call assert_equal("", jsondecode('""'))
 
+  call assert_equal({'n': 1}, jsondecode('{"n":1,}'))
+
   call assert_fails('call jsondecode("\"")', "E474:")
-  call assert_fails('call jsondecode("{-}")', "E474:")
   call assert_fails('call jsondecode("blah")', "E474:")
   call assert_fails('call jsondecode("true blah")', "E474:")
   call assert_fails('call jsondecode("<foobar>")', "E474:")
-  call assert_fails('call jsondecode("[foobar]")', "E474:")
+
+  call assert_fails('call jsondecode("{")', "E474:")
   call assert_fails('call jsondecode("{foobar}")', "E474:")
+  call assert_fails('call jsondecode("{\"n\",")', "E474:")
+  call assert_fails('call jsondecode("{\"n\":")', "E474:")
+  call assert_fails('call jsondecode("{\"n\":1")', "E474:")
+  call assert_fails('call jsondecode("{\"n\":1,")', "E474:")
+  call assert_fails('call jsondecode("{\"n\",1}")', "E474:")
+  call assert_fails('call jsondecode("{-}")', "E474:")
+
+  call assert_fails('call jsondecode("[foobar]")', "E474:")
+  call assert_fails('call jsondecode("[")', "E474:")
+  call assert_fails('call jsondecode("[1")', "E474:")
+  call assert_fails('call jsondecode("[1,")', "E474:")
+  call assert_fails('call jsondecode("[1 2]")', "E474:")
 endfunc
diff --git a/src/testdir/test_viml.vim b/src/testdir/test_viml.vim
index f1a7cb4..645f1b5 100644
--- a/src/testdir/test_viml.vim
+++ b/src/testdir/test_viml.vim
@@ -946,6 +946,18 @@
     call assert_equal('true', '' . v:true)
     call assert_equal('none', '' . v:none)
     call assert_equal('null', '' . v:null)
+
+    call assert_true(v:false == 0)
+    call assert_false(v:false != 0)
+    call assert_true(v:true == 1)
+    call assert_false(v:true != 1)
+    call assert_false(v:true == v:false)
+    call assert_true(v:true != v:false)
+
+    call assert_true(v:null == 0)
+    call assert_false(v:null != 0)
+    call assert_true(v:none == 0)
+    call assert_false(v:none != 0)
 endfunc
 
 "-------------------------------------------------------------------------------
diff --git a/src/version.c b/src/version.c
index 60cb07c..c412309 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1164,
+/**/
     1163,
 /**/
     1162,
