diff --git a/src/evalfunc.c b/src/evalfunc.c
index 5352630..16e2365 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3931,7 +3931,7 @@
     if (dict == NULL)
 	return NULL;
 
-    dict_add_nr_str(dict, "nr", buf->b_fnum, NULL);
+    dict_add_nr_str(dict, "bufnr", buf->b_fnum, NULL);
     dict_add_nr_str(dict, "name", 0L,
 	    buf->b_ffname != NULL ? buf->b_ffname : (char_u *)"");
     dict_add_nr_str(dict, "lnum", buflist_findlnum(buf), NULL);
@@ -5001,7 +5001,7 @@
     if (dict == NULL)
 	return NULL;
 
-    dict_add_nr_str(dict, "nr", tp_idx, NULL);
+    dict_add_nr_str(dict, "tabnr", tp_idx, NULL);
 
     l = list_alloc();
     if (l != NULL)
@@ -5125,12 +5125,12 @@
     if (dict == NULL)
 	return NULL;
 
-    dict_add_nr_str(dict, "tpnr", tpnr, NULL);
-    dict_add_nr_str(dict, "nr", winnr, NULL);
+    dict_add_nr_str(dict, "tabnr", tpnr, NULL);
+    dict_add_nr_str(dict, "winnr", winnr, NULL);
     dict_add_nr_str(dict, "winid", wp->w_id, NULL);
     dict_add_nr_str(dict, "height", wp->w_height, NULL);
     dict_add_nr_str(dict, "width", wp->w_width, NULL);
-    dict_add_nr_str(dict, "bufnum", wp->w_buffer->b_fnum, NULL);
+    dict_add_nr_str(dict, "bufnr", wp->w_buffer->b_fnum, NULL);
 
 #ifdef FEAT_QUICKFIX
     dict_add_nr_str(dict, "quickfix", bt_quickfix(wp->w_buffer), NULL);
diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim
index ec1f538..1c88cf5 100644
--- a/src/testdir/test_bufwintabinfo.vim
+++ b/src/testdir/test_bufwintabinfo.vim
@@ -17,7 +17,7 @@
     set tabstop&vim
     let b:editor = 'vim'
     let l = getbufinfo('%')
-    call assert_equal(bufnr('%'), l[0].nr)
+    call assert_equal(bufnr('%'), l[0].bufnr)
     call assert_equal(8, l[0].options.tabstop)
     call assert_equal('vim', l[0].variables.editor)
     call assert_notequal(-1, index(l[0].windows, bufwinid('%')))
@@ -46,25 +46,25 @@
     tabfirst
     let winlist = getwininfo()
     call assert_equal(5, len(winlist))
-    call assert_equal(winbufnr(2), winlist[1].bufnum)
+    call assert_equal(winbufnr(2), winlist[1].bufnr)
     call assert_equal(winheight(2), winlist[1].height)
-    call assert_equal(1, winlist[2].nr)
+    call assert_equal(1, winlist[2].winnr)
     if has('signs')
       call assert_equal('auto', winlist[0].options.signcolumn)
     endif
-    call assert_equal(2, winlist[3].tpnr)
+    call assert_equal(2, winlist[3].tabnr)
     call assert_equal('green', winlist[2].variables.signal)
     call assert_equal(winwidth(1), winlist[0].width)
     call assert_equal(w4_id, winlist[3].winid)
     let winfo = getwininfo(w5_id)[0]
-    call assert_equal(2, winfo.tpnr)
+    call assert_equal(2, winfo.tabnr)
     call assert_equal([], getwininfo(3))
 
     call settabvar(1, 'space', 'build')
     let tablist = gettabinfo()
     call assert_equal(2, len(tablist))
     call assert_equal(3, len(tablist[1].windows))
-    call assert_equal(2, tablist[1].nr)
+    call assert_equal(2, tablist[1].tabnr)
     call assert_equal('build', tablist[0].variables.space)
     call assert_equal(w2_id, tablist[0].windows[0])
     call assert_equal([], gettabinfo(3))
diff --git a/src/version.c b/src/version.c
index f4a340e..efca575 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2226,
+/**/
     2225,
 /**/
     2224,
