diff --git a/reactos/dll/win32/gdi32/gdi32.def b/reactos/dll/win32/gdi32/gdi32.def
index 19833e7d249..2ee621519f1 100644
--- a/reactos/dll/win32/gdi32/gdi32.def
+++ b/reactos/dll/win32/gdi32/gdi32.def
@@ -79,8 +79,8 @@ CreateMetaFileA@4
CreateMetaFileW@4
CreatePalette@4=NtGdiCreatePalette@4
CreatePatternBrush@4
-CreatePen@12=NtGdiCreatePen@12
-CreatePenIndirect@4=NtGdiCreatePenIndirect@4
+CreatePen@12
+CreatePenIndirect@4
CreatePolyPolygonRgn@16=NtGdiCreatePolyPolygonRgn@16
CreatePolygonRgn@12=NtGdiCreatePolygonRgn@12
CreateRectRgn@16=NtGdiCreateRectRgn@16
diff --git a/reactos/dll/win32/gdi32/gdi32.rbuild b/reactos/dll/win32/gdi32/gdi32.rbuild
index 4f9702180c4..0a3067126eb 100644
--- a/reactos/dll/win32/gdi32/gdi32.rbuild
+++ b/reactos/dll/win32/gdi32/gdi32.rbuild
@@ -46,6 +46,7 @@
font.c
linedda.c
metafile.c
+ pen.c
region.c
text.c
utils.c
diff --git a/reactos/subsystems/win32/win32k/objects/pen.c b/reactos/subsystems/win32/win32k/objects/pen.c
index 5359a3991ba..96c7454b831 100644
--- a/reactos/subsystems/win32/win32k/objects/pen.c
+++ b/reactos/subsystems/win32/win32k/objects/pen.c
@@ -241,44 +241,6 @@ NtGdiCreatePen(
0);
}
-HPEN STDCALL
-NtGdiCreatePenIndirect(CONST PLOGPEN LogPen)
-{
- LOGPEN SafeLogPen = {0};
- NTSTATUS Status = STATUS_SUCCESS;
-
- _SEH_TRY
- {
- ProbeForRead(LogPen,
- sizeof(LOGPEN),
- 1);
- SafeLogPen = *LogPen;
- }
- _SEH_HANDLE
- {
- Status = _SEH_GetExceptionCode();
- }
- _SEH_END;
-
- if (!NT_SUCCESS(Status))
- {
- SetLastNtError(Status);
- return 0;
- }
-
- return IntGdiExtCreatePen(SafeLogPen.lopnStyle,
- SafeLogPen.lopnWidth.x,
- BS_SOLID,
- SafeLogPen.lopnColor,
- 0,
- 0,
- 0,
- NULL,
- 0,
- TRUE,
- 0);
-}
-
HPEN STDCALL
NtGdiExtCreatePen(
DWORD dwPenStyle,
diff --git a/reactos/tools/nci/w32ksvc.db b/reactos/tools/nci/w32ksvc.db
index 3fd7f591fbf..1cda1ecd1ed 100644
--- a/reactos/tools/nci/w32ksvc.db
+++ b/reactos/tools/nci/w32ksvc.db
@@ -34,8 +34,7 @@ NtGdiCreateHatchBrushInternal 3
NtGdiCreateMetaFile 1
NtGdiCreatePalette 1
NtGdiCreatePatternBrushInternal 3
-NtGdiCreatePen 3
-NtGdiCreatePenIndirect 1
+NtGdiCreatePen 4
NtGdiCreatePolygonRgn 3
NtGdiCreatePolyPolygonRgn 4
NtGdiCreateRectRgn 4