--- a/source3/librpc/rpc/rpc_common.c
+++ b/source3/librpc/rpc/rpc_common.c
@@ -131,6 +131,7 @@ static bool initialize_interfaces(void)
 	if (!smb_register_ndr_interface(&ndr_table_initshutdown)) {
 		return false;
 	}
+#ifdef EXTRA_SERVICES
 	if (!smb_register_ndr_interface(&ndr_table_svcctl)) {
 		return false;
 	}
@@ -140,6 +141,7 @@ static bool initialize_interfaces(void)
 	if (!smb_register_ndr_interface(&ndr_table_ntsvcs)) {
 		return false;
 	}
+#endif
 	if (!smb_register_ndr_interface(&ndr_table_epmapper)) {
 		return false;
 	}
--- a/source3/rpc_server/rpc_ep_setup.c
+++ b/source3/rpc_server/rpc_ep_setup.c
@@ -697,6 +697,7 @@ static bool spoolss_shutdown_cb(void *pt
 	return true;
 }
 
+#ifdef EXTRA_SERVICES
 static bool svcctl_init_cb(void *ptr)
 {
 	struct dcesrv_ep_context *ep_ctx =
@@ -733,6 +734,7 @@ static bool svcctl_init_cb(void *ptr)
 
 	return true;
 }
+#endif
 
 static bool svcctl_shutdown_cb(void *ptr)
 {
@@ -741,6 +743,8 @@ static bool svcctl_shutdown_cb(void *ptr
 	return true;
 }
 
+#ifdef EXTRA_SERVICES
+
 static bool ntsvcs_init_cb(void *ptr)
 {
 	struct dcesrv_ep_context *ep_ctx =
@@ -802,6 +806,7 @@ static bool eventlog_init_cb(void *ptr)
 
 	return true;
 }
+#endif
 
 static bool initshutdown_init_cb(void *ptr)
 {
@@ -1130,6 +1135,7 @@ bool dcesrv_ep_setup(struct tevent_conte
 		}
 	}
 
+#ifdef EXTRA_SERVICES
 	svcctl_cb.init         = svcctl_init_cb;
 	svcctl_cb.shutdown     = svcctl_shutdown_cb;
 	svcctl_cb.private_data = ep_ctx;
@@ -1150,6 +1156,7 @@ bool dcesrv_ep_setup(struct tevent_conte
 	if (!NT_STATUS_IS_OK(rpc_eventlog_init(&eventlog_cb))) {
 		return false;
 	}
+#endif
 
 	initshutdown_cb.init         = initshutdown_init_cb;
 	initshutdown_cb.shutdown     = NULL;
--- a/source3/smbd/server_exit.c
+++ b/source3/smbd/server_exit.c
@@ -140,9 +140,11 @@ static void exit_server_common(enum serv
 #endif
 		rpc_netdfs_shutdown();
 		rpc_initshutdown_shutdown();
+#ifdef EXTRA_SERVICES
 		rpc_eventlog_shutdown();
-		rpc_ntsvcs_shutdown();
 		rpc_svcctl_shutdown();
+		rpc_ntsvcs_shutdown();
+#endif
 #ifdef PRINTER_SUPPORT
 		rpc_spoolss_shutdown();
 #endif
--- a/source3/rpcclient/rpcclient.c
+++ b/source3/rpcclient/rpcclient.c
@@ -637,9 +637,11 @@ static struct cmd_set *rpcclient_command
 	shutdown_commands,
  	test_commands,
 	wkssvc_commands,
+#ifdef EXTRA_SERVICES
 	ntsvcs_commands,
 	drsuapi_commands,
 	eventlog_commands,
+#endif
 	winreg_commands,
 	NULL
 };
