diff --git a/src/quickfix.c b/src/quickfix.c
index f808da4..23cabb2 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -4753,11 +4753,15 @@
 }
 
     static int
-qf_set_properties(qf_info_T *qi, dict_T *what)
+qf_set_properties(qf_info_T *qi, dict_T *what, int action)
 {
     dictitem_T	*di;
     int		retval = FAIL;
     int		qf_idx;
+    int		newlist = FALSE;
+
+    if (action == ' ' || qi->qf_curlist == qi->qf_listcount)
+	newlist = TRUE;
 
     qf_idx = qi->qf_curlist;		/* default is the current list */
     if ((di = dict_find(what, (char_u *)"nr", -1)) != NULL)
@@ -4771,6 +4775,13 @@
 	}
 	else
 	    return FAIL;
+	newlist = FALSE;	/* use the specified list */
+    }
+
+    if (newlist)
+    {
+	qf_new_list(qi, NULL);
+	qf_idx = qi->qf_curlist;
     }
 
     if ((di = dict_find(what, (char_u *)"title", -1)) != NULL)
@@ -4813,7 +4824,7 @@
     }
 
     if (what != NULL)
-	retval = qf_set_properties(qi, what);
+	retval = qf_set_properties(qi, what, action);
     else
 	retval = qf_add_entries(qi, list, title, action);
 
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index b7d985d..5c51477 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -1527,6 +1527,16 @@
     call assert_equal('Sample', w:quickfix_title)
     Xclose
 
+    " Tests for action argument
+    silent! Xolder 999
+    let qfnr = g:Xgetlist({'all':1}).nr
+    call g:Xsetlist([], 'r', {'title' : 'N1'})
+    call assert_equal('N1', g:Xgetlist({'all':1}).title)
+    call g:Xsetlist([], ' ', {'title' : 'N2'})
+    call assert_equal(qfnr + 1, g:Xgetlist({'all':1}).nr)
+    call g:Xsetlist([], ' ', {'title' : 'N3'})
+    call assert_equal('N2', g:Xgetlist({'nr':2, 'title':1}).title)
+
     " Invalid arguments
     call assert_fails('call g:Xgetlist([])', 'E715')
     call assert_fails('call g:Xsetlist([], "a", [])', 'E715')
diff --git a/src/version.c b/src/version.c
index 934eecb..abf86a6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2264,
+/**/
     2263,
 /**/
     2262,
