diff --git a/src/version.c b/src/version.c
index dc51874..ef777cf 100644
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1721,
+/**/
     1720,
 /**/
     1719,
diff --git a/src/vimtbar.dll b/src/vimtbar.dll
deleted file mode 100755
index 6a8dfc9..0000000
--- a/src/vimtbar.dll
+++ /dev/null
Binary files differ
diff --git a/src/vimtbar.h b/src/vimtbar.h
deleted file mode 100644
index 7427f64..0000000
--- a/src/vimtbar.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/* vi:set ts=8 sts=4 sw=4:
- *
- * VIM - Vi IMproved	by Bram Moolenaar
- *			Win16 Toolbar by Vince Negri - External Header
- *			(Based on MS Sample Code)
- *
- * Do ":help uganda"  in Vim to read copying and usage conditions.
- * Do ":help credits" in Vim to see a list of people who contributed.
- */
-//
-// Button Structure
-//
-typedef struct tagTBBUTTON
-{
-    int  iBitmap;	 // index into bitmap of this button's picture
-    int  idCommand;	 // WM_COMMAND menu ID that this button sends
-    BYTE fsState;	 // button's state
-    BYTE fsStyle;	 // button's style
-} TBBUTTON;
-
-typedef TBBUTTON NEAR* PTBBUTTON;
-typedef TBBUTTON FAR* LPTBBUTTON;
-typedef const TBBUTTON FAR* LPCTBBUTTON;
-
-
-//
-// Styles
-//
-#define TBSTYLE_BUTTON		0x00	// this entry is button
-#define TBSTYLE_SEP		0x01	// this entry is a separator
-#define TBSTYLE_CHECK		0x02	// this is a check button (it stays down)
-#define TBSTYLE_GROUP		0x04	// this is a check button (it stays down)
-#define TBSTYLE_CHECKGROUP	(TBSTYLE_GROUP | TBSTYLE_CHECK) // this group is a member of a group radio group
-
-//
-// States
-//
-#define TBSTATE_CHECKED		0x01	// radio button is checked
-#define TBSTATE_PRESSED		0x02	// button is being depressed (any style)
-#define TBSTATE_ENABLED		0x04	// button is enabled
-#define TBSTATE_HIDDEN		0x08	// button is hidden
-#define TBSTATE_INDETERMINATE   0x10    // button is indeterminate
-#define TBSTATE_SELECTED	0x20	// mouse hovering over button (for coolbar look)
-
-
-
-typedef struct tagADJUSTINFO
-{
-    TBBUTTON tbButton;
-    char szDescription[1];
-} ADJUSTINFO;
-
-typedef ADJUSTINFO NEAR* PADJUSTINFO;
-typedef ADJUSTINFO FAR* LPADJUSTINFO;
-
-
-HWND WINAPI CreateToolbar(HWND hwnd, DWORD ws, WORD wID, int nBitmaps,
-	HINSTANCE hBMInst, WORD wBMID,
-	LPCTBBUTTON lpButtons, int iNumButtons);
-
-#define CMB_DISCARDABLE 0x01    // create bitmap as discardable
-#define CMB_MASKED      0x02    // create image/mask pair in bitmap
-
-
-#define TB_ENABLEBUTTON	(WM_USER + 1)
-// wParam: UINT, button ID
-// lParam: BOOL LOWORD, enable if nonzero; HIWORD not used, 0
-// return: not used
-//
-
-#define TB_CHECKBUTTON	(WM_USER + 2)
-// wParam: UINT, button ID
-// lParam: BOOL LOWORD, check if nonzero; HIWORD not used, 0
-// return: not used
-//
-
-#define TB_PRESSBUTTON	(WM_USER + 3)
-// wParam: UINT, button ID
-// lParam: BOOL LOWORD, press if nonzero; HIWORD not used, 0
-// return: not used
-//
-
-#define TB_HIDEBUTTON	(WM_USER + 4)
-// wParam: UINT, button ID
-// lParam: BOOL LOWORD, hide if nonzero; HIWORD not used, 0
-// return: not used
-//
-#define TB_INDETERMINATE	(WM_USER + 5)
-// wParam: UINT, button ID
-// lParam: BOOL LOWORD, make indeterminate if nonzero; HIWORD not used, 0
-// return: not used
-//
-
-#define TB_ISBUTTONENABLED	(WM_USER + 9)
-// wParam: UINT, button ID
-// lParam: not used, 0
-// return: BOOL LOWORD, enabled if nonzero; HIWORD not used
-//
-
-#define TB_ISBUTTONCHECKED	(WM_USER + 10)
-// wParam: UINT, button ID
-// lParam: not used, 0
-// return: BOOL LOWORD, checked if nonzero; HIWORD not used
-//
-
-#define TB_ISBUTTONPRESSED	(WM_USER + 11)
-// wParam: UINT, button ID
-// lParam: not used, 0
-// return: BOOL LOWORD, pressed if nonzero; HIWORD not used
-//
-
-#define TB_ISBUTTONHIDDEN	(WM_USER + 12)
-// wParam: UINT, button ID
-// lParam: not used, 0
-// return: BOOL LOWORD, hidden if nonzero; HIWORD not used
-//
-
-#define TB_ISBUTTONINDETERMINATE	(WM_USER + 13)
-// wParam: UINT, button ID
-// lParam: not used, 0
-// return: BOOL LOWORD, indeterminate if nonzero; HIWORD not used
-//
-
-#define TB_SETSTATE		(WM_USER + 17)
-// wParam: UINT, button ID
-// lParam: UINT LOWORD, state bits; HIWORD not used, 0
-// return: not used
-//
-
-#define TB_GETSTATE		(WM_USER + 18)
-// wParam: UINT, button ID
-// lParam: not used, 0
-// return: UINT LOWORD, state bits; HIWORD not used
-//
-
-#define TB_ADDBITMAP		(WM_USER + 19)
-// wParam: UINT, number of button graphics in bitmap
-// lParam: one of:
-//	   HINSTANCE LOWORD, module handle; UINT HIWORD, resource id
-//	   HINSTANCE LOWORD, NULL; HBITMAP HIWORD, bitmap handle
-// return: one of:
-//	   int LOWORD, index for first new button; HIWORD not used
-//	   int LOWORD, -1 indicating error; HIWORD not used
-//
-
-#define TB_ADDBUTTONS		(WM_USER + 20)
-// wParam: UINT, number of buttons to add
-// lParam: LPTBBUTTON, pointer to array of TBBUTTON structures
-// return: not used
-//
-
-#define TB_INSERTBUTTON		(WM_USER + 21)
-// wParam: UINT, index for insertion (appended if index doesn't exist)
-// lParam: LPTBBUTTON, pointer to one TBBUTTON structure
-// return: not used
-//
-
-#define TB_DELETEBUTTON		(WM_USER + 22)
-// wParam: UINT, index of button to delete
-// lParam: not used, 0
-// return: not used
-//
-
-#define TB_GETBUTTON		(WM_USER + 23)
-// wParam: UINT, index of button to get
-// lParam: LPTBBUTTON, pointer to TBBUTTON buffer to receive button
-// return: not used
-//
-
-#define TB_BUTTONCOUNT		(WM_USER + 24)
-// wParam: not used, 0
-// lParam: not used, 0
-// return: UINT LOWORD, number of buttons; HIWORD not used
-//
-
-#define TB_COMMANDTOINDEX	(WM_USER + 25)
-// wParam: UINT, command id
-// lParam: not used, 0
-// return: UINT LOWORD, index of button (-1 if command not found);
-//	   HIWORD not used
-//
-
-
-#define TBN_BEGINDRAG	0x0201
-#define TBN_ENDDRAG	0x0203
diff --git a/src/vimtbar.lib b/src/vimtbar.lib
deleted file mode 100644
index 413b7da..0000000
--- a/src/vimtbar.lib
+++ /dev/null
Binary files differ
