diff --git a/src/errors.h b/src/errors.h
index 9b9a782..aaf7e55 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -357,3 +357,5 @@
 	INIT(= N_("E1159: Cannot split a window when closing the buffer"));
 EXTERN char e_cannot_use_default_for_variable_arguments[]
 	INIT(= N_("E1160: Cannot use a default for variable arguments"));
+EXTERN char e_cannot_json_encode_str[]
+	INIT(= N_("E1161: Cannot json encode a %s"));
diff --git a/src/json.c b/src/json.c
index 8262640..dba003e 100644
--- a/src/json.c
+++ b/src/json.c
@@ -230,8 +230,7 @@
 	case VAR_PARTIAL:
 	case VAR_JOB:
 	case VAR_CHANNEL:
-	    // no JSON equivalent TODO: better error
-	    emsg(_(e_invarg));
+	    semsg(_(e_cannot_json_encode_str), vartype_name(val->v_type));
 	    return FAIL;
 
 	case VAR_BLOB:
diff --git a/src/testdir/test_json.vim b/src/testdir/test_json.vim
index 29585ca..0248aa9 100644
--- a/src/testdir/test_json.vim
+++ b/src/testdir/test_json.vim
@@ -107,8 +107,8 @@
   call assert_equal('"café"', json_encode("caf\xe9"))
   let &encoding = save_encoding
 
-  call assert_fails('echo json_encode(function("tr"))', 'E474:')
-  call assert_fails('echo json_encode([function("tr")])', 'E474:')
+  call assert_fails('echo json_encode(function("tr"))', 'E1161: Cannot json encode a func')
+  call assert_fails('echo json_encode([function("tr")])', 'E1161: Cannot json encode a func')
 
   call assert_equal('{"a":""}', json_encode({'a': test_null_string()}))
   call assert_equal('{"a":[]}', json_encode({"a": test_null_list()}))
@@ -246,8 +246,8 @@
 
   call assert_equal(s:jsonvals, js_encode(s:varvals))
 
-  call assert_fails('echo js_encode(function("tr"))', 'E474:')
-  call assert_fails('echo js_encode([function("tr")])', 'E474:')
+  call assert_fails('echo js_encode(function("tr"))', 'E1161: Cannot json encode a func')
+  call assert_fails('echo js_encode([function("tr")])', 'E1161: Cannot json encode a func')
 
   silent! let res = js_encode(function("tr"))
   call assert_equal("", res)
diff --git a/src/version.c b/src/version.c
index d07c0e3..8b5de13 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2488,
+/**/
     2487,
 /**/
     2486,
