diff --git a/servers/slapd/nt_svc.c b/servers/slapd/nt_svc.c
index d81bc68a47ac585054e19388fb77c19b1ffc4a81..40a349ec4a0d90cb6e1aeba1fef28360625330d9 100644
--- a/servers/slapd/nt_svc.c
+++ b/servers/slapd/nt_svc.c
@@ -103,7 +103,7 @@ int main( int argc, LPTSTR *argv )
 	puts( "starting slapd..." );
 	if (svc_installed(SERVICE_NAME, NULL) != 0
 		|| svc_running(SERVICE_NAME) == 1
-		|| StartServiceCtrlDispatcher(DispatchTable) != 0 )
+		|| StartServiceCtrlDispatcher(DispatchTable) == 0 )
 	{
 		is_NT_Service = 0;
 		ServiceMain( argc, argv );