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);
