diff --git a/src/eval.c b/src/eval.c
index 10f57e8..42f305e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -9871,12 +9871,13 @@
 
     if (argvars[1].v_type == VAR_DICT)
     {
-	/* parse argdict */
-	dict_T	*dict = argvars[1].vval.v_dict;
+	dict_T	    *dict = argvars[1].vval.v_dict;
+	dictitem_T  *item;
 
-	if (dict_find(dict, (char_u *)"mode", -1) != NULL)
+	/* parse argdict */
+	if ((item = dict_find(dict, (char_u *)"mode", -1)) != NULL)
 	{
-	    mode = get_dict_string(dict, (char_u *)"mode", FALSE);
+	    mode = get_tv_string(&item->di_tv);
 	    if (STRCMP(mode, "raw") == 0)
 		ch_mode = MODE_RAW;
 	    else if (STRCMP(mode, "js") == 0)
@@ -9889,12 +9890,12 @@
 		return;
 	    }
 	}
-	if (dict_find(dict, (char_u *)"waittime", -1) != NULL)
-	    waittime = get_dict_number(dict, (char_u *)"waittime");
-	if (dict_find(dict, (char_u *)"timeout", -1) != NULL)
-	    timeout = get_dict_number(dict, (char_u *)"timeout");
-	if (dict_find(dict, (char_u *)"callback", -1) != NULL)
-	    callback = get_dict_string(dict, (char_u *)"callback", FALSE);
+	if ((item = dict_find(dict, (char_u *)"waittime", -1)) != NULL)
+	    waittime = get_tv_number(&item->di_tv);
+	if ((item = dict_find(dict, (char_u *)"timeout", -1)) != NULL)
+	    timeout = get_tv_number(&item->di_tv);
+	if ((item = dict_find(dict, (char_u *)"callback", -1)) != NULL)
+	    callback = get_callback(&item->di_tv);
     }
     if (waittime < 0 || timeout < 0)
     {
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 6e5bbbb..9f52eb7 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -118,6 +118,13 @@
   call assert_equal(handle, s:responseHandle)
   call assert_equal('got it', s:responseMsg)
 
+  let s:responseHandle = -1
+  let s:responseMsg = ''
+  call ch_sendexpr(handle, 'hello!', function('s:RequestHandler'))
+  sleep 10m
+  call assert_equal(handle, s:responseHandle)
+  call assert_equal('got it', s:responseMsg)
+
   " Send an eval request that works.
   call assert_equal('ok', ch_sendexpr(handle, 'eval-works'))
   sleep 10m
@@ -206,13 +213,12 @@
 
 let s:reply = ""
 func s:Handler(chan, msg)
+  unlet s:reply
   let s:reply = a:msg
 endfunc
 
 func s:channel_handler(port)
-  let chopt = copy(s:chopt)
-  let chopt['callback'] = 's:Handler'
-  let handle = ch_open('localhost:' . a:port, chopt)
+  let handle = ch_open('localhost:' . a:port, s:chopt)
   if handle < 0
     call assert_false(1, "Can't open channel")
     return
@@ -230,7 +236,11 @@
 endfunc
 
 func Test_channel_handler()
+  let s:chopt.callback = 's:Handler'
   call s:run_server('s:channel_handler')
+  let s:chopt.callback = function('s:Handler')
+  call s:run_server('s:channel_handler')
+  unlet s:chopt.callback
 endfunc
 
 " Test that trying to connect to a non-existing port fails quickly.
diff --git a/src/version.c b/src/version.c
index e3f432e..af6e9f5 100644
--- a/src/version.c
+++ b/src/version.c
@@ -748,6 +748,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1303,
+/**/
     1302,
 /**/
     1301,
