diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index e11ad08..78aee97 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -5927,7 +5927,7 @@
     if (*eap->arg == NUL)
 	shell_resized();
     else
-	mch_screenmode(eap->arg);
+	emsg(_(e_screenmode));
 }
 
 /*
diff --git a/src/os_amiga.c b/src/os_amiga.c
index 4cf39e1..1e3fd4b 100644
--- a/src/os_amiga.c
+++ b/src/os_amiga.c
@@ -989,16 +989,6 @@
 }
 
 /*
- * set screen mode, always fails.
- */
-    int
-mch_screenmode(char_u *arg)
-{
-    emsg(_(e_screenmode));
-    return FAIL;
-}
-
-/*
  * Code for this routine came from the following :
  *
  * ConPackets.c -  C. Scheppner, A. Finkel, P. Lindsay	CBM
diff --git a/src/os_mswin.c b/src/os_mswin.c
index c7cfd27..faa4c99 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -742,17 +742,6 @@
 #endif
 
 
-/*
- * set screen mode, always fails.
- */
-    int
-mch_screenmode(char_u *arg UNUSED)
-{
-    emsg(_(e_screenmode));
-    return FAIL;
-}
-
-
 #if defined(FEAT_LIBCALL) || defined(PROTO)
 /*
  * Call a DLL routine which takes either a string or int param
diff --git a/src/os_unix.c b/src/os_unix.c
index 7e78209..5f2ece3 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3937,16 +3937,6 @@
     }
 }
 
-/*
- * set screen mode, always fails.
- */
-    int
-mch_screenmode(char_u *arg UNUSED)
-{
-    emsg(_(e_screenmode));
-    return FAIL;
-}
-
 #ifndef VMS
 
 /*
diff --git a/src/proto/os_amiga.pro b/src/proto/os_amiga.pro
index 7aaf171..8e12f4d 100644
--- a/src/proto/os_amiga.pro
+++ b/src/proto/os_amiga.pro
@@ -32,7 +32,6 @@
 void mch_early_init(void);
 void mch_exit(int r);
 void mch_settmode(int tmode);
-int mch_screenmode(char_u *arg);
 int mch_get_shellsize(void);
 void mch_set_shellsize(void);
 void mch_new_shellsize(void);
diff --git a/src/proto/os_mswin.pro b/src/proto/os_mswin.pro
index 6cc8a5d..ade7cc2 100644
--- a/src/proto/os_mswin.pro
+++ b/src/proto/os_mswin.pro
@@ -19,7 +19,6 @@
 int mch_has_exp_wildcard(char_u *p);
 int mch_has_wildcard(char_u *p);
 int mch_chdir(char *path);
-int mch_screenmode(char_u *arg);
 int mch_icon_load(HANDLE *iconp);
 int mch_libcall(char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result);
 void DumpPutS(const char *psz);
diff --git a/src/proto/os_unix.pro b/src/proto/os_unix.pro
index 14cde4a..b9db0fc 100644
--- a/src/proto/os_unix.pro
+++ b/src/proto/os_unix.pro
@@ -54,7 +54,6 @@
 void mch_setmouse(int on);
 void mch_bevalterm_changed(void);
 void check_mouse_termcode(void);
-int mch_screenmode(char_u *arg);
 int mch_get_shellsize(void);
 int mch_report_winsize(int fd, int rows, int cols);
 void mch_set_shellsize(void);
diff --git a/src/version.c b/src/version.c
index a32231b..1ed040d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    125,
+/**/
     124,
 /**/
     123,
