diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 71c7bc0..3ee92f2 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,4 +1,4 @@
-*popup.txt*  For Vim version 8.1.  Last change: 2019 Jun 12
+*popup.txt*  For Vim version 8.1.  Last change: 2019 Jun 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -93,8 +93,6 @@
 - Add 'balloonpopup': instead of showing text, let the callback open a popup
   window and return the window ID.   The popup will then be closed when the
   mouse moves, except when it moves inside the popup.
-- For notifications use the PopupNotification highlight group, fall back to
-  WarningMsg if it isn't defined.
 - For the "moved" property also include mouse movement?
 - Make redrawing more efficient and avoid flicker:
     - put popup menu also put in popup_mask?
@@ -300,6 +298,7 @@
 			call popup_create({text}, {
 				\ 'line': 1,
 				\ 'col': 10,
+				\ 'minwidth': 20,
 				\ 'time': 3000,
 				\ 'tabpage': -1,
 				\ 'zindex': 200,
@@ -308,6 +307,8 @@
 				\ 'border': [],
 				\ 'padding': [0,1,0,1],
 				\ })
+<		The PopupNotification highlight group is used instead of
+		WarningMsg if it is defined.
 <		The position will be adjusted to avoid overlap with other
 		notifications.
 		Use {options} to change the properties.
diff --git a/src/popupwin.c b/src/popupwin.c
index 594fca8..aeed2e7 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -258,7 +258,9 @@
     dictitem_T	*di;
     int		i;
 
-    wp->w_minwidth = dict_get_number(dict, (char_u *)"minwidth");
+    di = dict_find(dict, (char_u *)"minwidth", -1);
+    if (di != NULL)
+	wp->w_minwidth = dict_get_number(dict, (char_u *)"minwidth");
     wp->w_minheight = dict_get_number(dict, (char_u *)"minheight");
     wp->w_maxwidth = dict_get_number(dict, (char_u *)"maxwidth");
     wp->w_maxheight = dict_get_number(dict, (char_u *)"maxheight");
@@ -856,13 +858,17 @@
 
 	wp->w_wantcol = 10;
 	wp->w_zindex = POPUPWIN_NOTIFICATION_ZINDEX;
+	wp->w_minwidth = 20;
+	wp->w_popup_drag = 1;
 	for (i = 0; i < 4; ++i)
 	    wp->w_popup_border[i] = 1;
 	wp->w_popup_padding[1] = 1;
 	wp->w_popup_padding[3] = 1;
+
+	nr = syn_name2id((char_u *)"PopupNotification");
 	set_string_option_direct_in_win(wp, (char_u *)"wincolor", -1,
-				(char_u *)"WarningMsg", OPT_FREE|OPT_LOCAL, 0);
-	wp->w_popup_drag = 1;
+		(char_u *)(nr == 0 ? "WarningMsg" : "PopupNotification"),
+		OPT_FREE|OPT_LOCAL, 0);
     }
 
     // Deal with options.
diff --git a/src/testdir/dumps/Test_popupwin_notify_01.dump b/src/testdir/dumps/Test_popupwin_notify_01.dump
index 2ecd5ee..bad62f6 100644
--- a/src/testdir/dumps/Test_popupwin_notify_01.dump
+++ b/src/testdir/dumps/Test_popupwin_notify_01.dump
@@ -1,6 +1,6 @@
->1+0&#ffffff0| @7|╔+0#e000002&|═@19|╗| +0#0000000&@43
-|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0#0000000&@43
-|3| @7|╚+0#e000002&|═@19|╝| +0#0000000&@43
+>1+0&#ffffff0| @7|╔+0#e000002&|═@21|╗| +0#0000000&@41
+|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| @2|║| +0#0000000&@41
+|3| @7|╚+0#e000002&|═@21|╝| +0#0000000&@41
 |4| @73
 |5| @73
 |6| @73
diff --git a/src/testdir/dumps/Test_popupwin_notify_02.dump b/src/testdir/dumps/Test_popupwin_notify_02.dump
index 1017061..72e2895 100644
--- a/src/testdir/dumps/Test_popupwin_notify_02.dump
+++ b/src/testdir/dumps/Test_popupwin_notify_02.dump
@@ -1,10 +1,10 @@
->1+0&#ffffff0| @7|╔+0#e000002&|═@19|╗| +0#0000000&@43
-|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0#0000000&@43
-|3| @7|╚+0#e000002&|═@19|╝| +0#0000000&@43
+>1+0&#ffffff0| @7|╔+0#e000002&|═@21|╗| +0#0000000&@41
+|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| @2|║| +0#0000000&@41
+|3| @7|╚+0#e000002&|═@21|╝| +0#0000000&@41
 |4| @7|╔+0&#5fd7ff255|═@31|╗| +0&#ffffff0@31
 |5| @7|║+0&#5fd7ff255| |a|n|o|t|h|e|r| |i|m|p|o|r|t|a|n|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0&#ffffff0@31
 |6| @7|╚+0&#5fd7ff255|═@31|╝| +0&#ffffff0@31
 |7| @73
 |8| @73
 |9| @73
-@57|1|,|1| @10|T|o|p| 
+|:|c|a|l@1| |p|o|p|u|p|_|n|o|t|i|f|i|c|a|t|i|o|n|(|'|a|n|o|t|h|e|r| |i|m|p|o|r|t|a|n|t| |n|o|t|i|f|i|c|a|t|i|o|n|'|1|,|1| @10|T|o|p| 
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 789c859..d9b0b29 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -1191,7 +1191,8 @@
   call VerifyScreenDump(buf, 'Test_popupwin_notify_01', {})
 
   " second one goes below the first one
-  call term_sendkeys(buf, ":call popup_notification('another important notification', {'highlight': 'Notification'})\<CR>")
+  call term_sendkeys(buf, ":hi link PopupNotification Notification\<CR>")
+  call term_sendkeys(buf, ":call popup_notification('another important notification', {})\<CR>")
   call VerifyScreenDump(buf, 'Test_popupwin_notify_02', {})
 
 
diff --git a/src/version.c b/src/version.c
index f36b986..4a6fb00 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1538,
+/**/
     1537,
 /**/
     1536,
