diff --git a/src/popupwin.c b/src/popupwin.c
index dc3b564..4e07bdb 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -488,12 +488,8 @@
     int	    nr;
 
     // Check arguments look OK.
-    if (!(argvars[0].v_type == VAR_STRING
-		&& argvars[0].vval.v_string != NULL
-		&& STRLEN(argvars[0].vval.v_string) > 0)
-	&& !(argvars[0].v_type == VAR_LIST
-	    && argvars[0].vval.v_list != NULL
-	    && argvars[0].vval.v_list->lv_len > 0))
+    if (!(argvars[0].v_type == VAR_STRING && argvars[0].vval.v_string != NULL)
+	&& !(argvars[0].v_type == VAR_LIST && argvars[0].vval.v_list != NULL))
     {
 	emsg(_(e_listreq));
 	return;
@@ -560,12 +556,15 @@
     {
 	list_T *l = argvars[0].vval.v_list;
 
-	if (l->lv_first->li_tv.v_type == VAR_STRING)
-	    // list of strings
-	    add_popup_strings(buf, l);
-	else
-	    // list of dictionaries
-	    add_popup_dicts(buf, l);
+	if (l->lv_len > 0)
+	{
+	    if (l->lv_first->li_tv.v_type == VAR_STRING)
+		// list of strings
+		add_popup_strings(buf, l);
+	    else
+		// list of dictionaries
+		add_popup_dicts(buf, l);
+	}
     }
 
     // Delete the line of the empty buffer.
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 6e05919..4ed3b1c 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -596,3 +596,17 @@
   call popup_close(winid, 'done')
   call assert_equal('done', g:result)
 endfunc
+
+func Test_popup_empty()
+  let winid = popup_create('', {'padding': [2,2,2,2]})
+  redraw
+  let pos = popup_getpos(winid)
+  call assert_equal(4, pos.width)
+  call assert_equal(5, pos.height)
+
+  let winid = popup_create([], {'border': []})
+  redraw
+  let pos = popup_getpos(winid)
+  call assert_equal(2, pos.width)
+  call assert_equal(3, pos.height)
+endfunc
diff --git a/src/version.c b/src/version.c
index 597fb90..9f316c1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1447,
+/**/
     1446,
 /**/
     1445,
