diff --git a/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec b/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec
index 6b01b2b75132e82e8c90bf7b627790b6708a978c..c29e51034482a94c018a6bebc66e10bb5aa94905 100644
--- a/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec
@@ -22,7 +22,7 @@
 @ cdecl _iswalnum_l(long ptr) ucrtbase._iswalnum_l
 @ cdecl _iswalpha_l(long ptr) ucrtbase._iswalpha_l
 @ cdecl _iswblank_l(long ptr) ucrtbase._iswblank_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) ucrtbase._iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) ucrtbase._iswctype_l
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 5c0506c9fcd8da2bfac3798ecf7e25462e05302f..afc9e0f9e85a5925e35a4a8086eeb222647a2aa7 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1018,7 +1018,7 @@
 @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
 @ cdecl _iswalnum_l(long ptr) MSVCRT__iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) MSVCRT__iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) MSVCRT__iswctype_l
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 757ed7c5431fd392b42bf4eb0c73dd3df1683337..24def8eac7ec5ed3995097a9191acf270c11bd95 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1364,7 +1364,7 @@
 @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
 @ cdecl _iswalnum_l(long ptr) MSVCRT__iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) MSVCRT__iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) MSVCRT__iswctype_l
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 52a315574ff48db81b2f3c0b62d2e2288788162f..2f559f154dffdcfdbb89e8c213d263dab901e8ad 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1370,7 +1370,7 @@
 @ cdecl _iswalnum_l(long ptr) MSVCRT__iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
 @ cdecl _iswblank_l(long ptr) MSVCRT__iswblank_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) MSVCRT__iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) MSVCRT__iswctype_l
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index db607e031d691f325498f60a9701c2d1e79ffa10..bfb1046c5c69055970045ff0f5784071e44a230a 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -1235,7 +1235,7 @@
 @ cdecl _iswalnum_l(long ptr) msvcr120._iswalnum_l
 @ cdecl _iswalpha_l(long ptr) msvcr120._iswalpha_l
 @ cdecl _iswblank_l(long ptr) msvcr120._iswblank_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) msvcr120._iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) msvcr120._iswctype_l
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index baf89f5947aa1aedb74d3712db2beec0002362f5..26c45cf9d3f4ceb1b0fa6d8f33a5fa04b0783cba 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -690,7 +690,7 @@
 @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
 @ cdecl _iswalnum_l(long ptr) MSVCRT__iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) MSVCRT__iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) MSVCRT__iswctype_l
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 79dab2e19827886b963ba0cfc15b619c19b11ab0..653c1566804b1fb32585e0708a4f08eaaa00807a 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -668,7 +668,7 @@
 @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
 @ cdecl _iswalnum_l(long ptr) MSVCRT__iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) MSVCRT__iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) MSVCRT__iswctype_l
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index dbff9642ccb16cdfb70d028b5c30fd32ea3a4c16..40326a7c86ee519fe4a42a19c301e4574d806ae3 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -635,7 +635,7 @@
 @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
 @ cdecl _iswalnum_l(long ptr) MSVCRT__iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
-# stub _iswcntrl_l(long ptr)
+@ cdecl _iswcntrl_l(long ptr) MSVCRT__iswcntrl_l
 @ cdecl _iswctype_l(long long ptr) MSVCRT__iswctype_l
 @ cdecl _iswdigit_l(long ptr) MSVCRT__iswdigit_l
 @ cdecl _iswgraph_l(long ptr) MSVCRT__iswgraph_l
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index 72a2b71b0c50372457d9a92a3844d1c14d56abf2..386764b4e3ffd6b40fe297b9c6a8aab80860ec90 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -1838,6 +1838,14 @@ INT CDECL MSVCRT_iswcntrl( MSVCRT_wchar_t wc )
     return iscntrlW( wc );
 }
 
+/*********************************************************************
+ *		_iswcntrl_l (MSVCRT.@)
+ */
+int CDECL MSVCRT__iswcntrl_l( MSVCRT_wchar_t wc, MSVCRT__locale_t locale )
+{
+    return iscntrlW( wc );
+}
+
 /*********************************************************************
  *		iswdigit (MSVCRT.@)
  */
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 32a646acf1cc72579b7f341649b7e382a541796e..2090e59d9bdf014d9bd19bae6c86a32ceefa16d9 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -509,7 +509,7 @@
 @ cdecl _iswalnum_l(long ptr) MSVCRT__iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
 @ cdecl _iswblank_l(long ptr) MSVCRT__iswblank_l
-@ stub _iswcntrl_l
+@ cdecl _iswcntrl_l(long ptr) MSVCRT__iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
 @ cdecl _iswctype_l(long long ptr) MSVCRT__iswctype_l