diff --git a/src/eval.c b/src/eval.c
index c8d84c5..3578c99 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6230,6 +6230,8 @@
     dictitem_T	*item2;
     int		todo;
 
+    if (d1 == NULL && d2 == NULL)
+	return TRUE;
     if (d1 == NULL || d2 == NULL)
 	return FALSE;
     if (d1 == d2)
@@ -7763,6 +7765,8 @@
     char_u	*tofree = NULL;
     hashitem_T	*hi;
 
+    if (d == NULL)
+	return NULL;
     if (len < 0)
 	akey = key;
     else if (len >= AKEYLEN)
@@ -18603,8 +18607,12 @@
 	char_u		buf[NUMBUFLEN];
 	char_u		**curval;
 	char_u		**curallocval;
-	int		len = argvars[1].vval.v_list->lv_len;
+	list_T		*ll = argvars[1].vval.v_list;
 	listitem_T	*li;
+	int		len;
+
+	/* If the list is NULL handle like an empty list. */
+	len = ll == NULL ? 0 : ll->lv_len;
 
 	/* First half: use for pointers to result lines; second half: use for
 	 * pointers to allocated copies. */
@@ -18615,7 +18623,7 @@
 	allocval = lstval + len + 2;
 	curallocval = allocval;
 
-	for (li = argvars[1].vval.v_list->lv_first; li != NULL;
+	for (li = ll == NULL ? NULL : ll->lv_first; li != NULL;
 							     li = li->li_next)
 	{
 	    strval = get_tv_string_buf_chk(&li->li_tv, buf);
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index 142455b..7d7870e 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -90,3 +90,14 @@
     call assert_true(0, 'should not get here')
   endfor
 endfunc
+
+func Test_compare_null_dict()
+  call assert_fails('let x = test_null_dict()[10]')
+  call assert_equal({}, {})
+  call assert_equal(test_null_dict(), test_null_dict())
+  call assert_notequal({}, test_null_dict())
+endfunc
+
+func Test_set_reg_null_list()
+  call setreg('x', test_null_list())
+endfunc
diff --git a/src/version.c b/src/version.c
index 20267a7..8725ce8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1847,
+/**/
     1846,
 /**/
     1845,
