diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 6eb9f0610578f1aa4affc0bed859ef3649e855df..2e33b0a1fe64f30bd2321c75d70a5d77d5e23e7e 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -306,8 +306,8 @@ typedef struct
 #endif  /* svr4 || SCO_DS */
 
 
-/* exception code definitions (already defined by FreeBSD) */
-#ifndef __FreeBSD__  /* FIXME: other BSDs? */
+/* exception code definitions (already defined by FreeBSD/NetBSD) */
+#if !defined(__FreeBSD__) && !defined(__NetBSD__) /* FIXME: other BSDs? */
 #define T_DIVIDE        0   /* Division by zero exception */
 #define T_TRCTRAP       1   /* Single-step exception */
 #define T_NMI           2   /* NMI interrupt */
@@ -329,6 +329,9 @@ typedef struct
 #define T_MCHK          18  /* Machine check exception */
 #define T_CACHEFLT      19  /* Cache flush exception */
 #endif
+#if defined(__NetBSD__)
+#define T_MCHK          19  /* Machine check exception */
+#endif
 
 #define T_UNKNOWN     (-1)  /* Unknown fault (TRAP_sig not defined) */