diff --git a/dlls/wtsapi32/wtsapi32.c b/dlls/wtsapi32/wtsapi32.c
index f4d0165c5e79a0b48784d07c3a8aa22689d0b8a8..c5134e17d82a9c89d1a95ffda1b61629df3e01a2 100644
--- a/dlls/wtsapi32/wtsapi32.c
+++ b/dlls/wtsapi32/wtsapi32.c
@@ -132,6 +132,15 @@ BOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version,
     return TRUE;
 }
 
+/************************************************************
+ *                WTSFreeMemory (WTSAPI32.@)
+ */
+void WINAPI WTSFreeMemory(PVOID pMemory)
+{
+    FIXME("Stub %p\n", pMemory);
+    return;
+}
+
 /************************************************************
  *                WTSQuerySessionInformationA  (WTSAPI32.@)
  */
diff --git a/dlls/wtsapi32/wtsapi32.spec b/dlls/wtsapi32/wtsapi32.spec
index e791a0ef27d9e96ca729889d5bc1882814b670f4..92ab57e51c79dcf2ad9b7a3f920d69116c928c88 100644
--- a/dlls/wtsapi32/wtsapi32.spec
+++ b/dlls/wtsapi32/wtsapi32.spec
@@ -6,7 +6,7 @@
 @ stub WTSEnumerateServersW
 @ stdcall WTSEnumerateSessionsA(long long long ptr ptr)
 @ stdcall WTSEnumerateSessionsW(long long long ptr ptr)
-@ stub WTSFreeMemory
+@ stdcall WTSFreeMemory(ptr)
 @ stub WTSLogoffSession
 @ stub WTSOpenServerA
 @ stub WTSOpenServerW
diff --git a/include/wtsapi32.h b/include/wtsapi32.h
index b8e9323e528a88c9c12fa6e407b44a2d2f95823b..bfea1526c2f5419c1a2f04b5e03cc77146a3f1e3 100644
--- a/include/wtsapi32.h
+++ b/include/wtsapi32.h
@@ -140,6 +140,7 @@ BOOL WINAPI WTSEnumerateServersW( LPWSTR, DWORD, DWORD, PWTS_SERVER_INFOW*, DWOR
 BOOL WINAPI WTSEnumerateSessionsA(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOA *, DWORD *);
 BOOL WINAPI WTSEnumerateSessionsW(HANDLE, DWORD, DWORD, PWTS_SESSION_INFOW *, DWORD *);
 #define     WTSEnumerateSessions WINELIB_NAME_AW(WTSEnumerateSessions)
+void WINAPI WTSFreeMemory(PVOID); 
 HANDLE WINAPI WTSOpenServerA(LPSTR);
 HANDLE WINAPI WTSOpenServerW(LPWSTR);
 #define     WTSOpenServer WINELIB_NAME_AW(WTSOpenServer)