diff --git a/hostapd/main.c b/hostapd/main.c
index 593267c..6911232 100644
--- a/hostapd/main.c
+++ b/hostapd/main.c
@@ -108,10 +108,6 @@
 			    module_str ? module_str : "",
 			    module_str ? ": " : "", txt);
 
-#ifdef CONFIG_DEBUG_SYSLOG
-	if (wpa_debug_syslog)
-		conf_stdout = 0;
-#endif /* CONFIG_DEBUG_SYSLOG */
 	if ((conf_stdout & module) && level >= conf_stdout_level) {
 		wpa_debug_print_timestamp();
 		wpa_printf(MSG_INFO, "%s", format);
@@ -488,9 +484,6 @@
 		"        (records all messages regardless of debug verbosity)\n"
 #endif /* CONFIG_DEBUG_LINUX_TRACING */
 		"   -i   list of interface names to use\n"
-#ifdef CONFIG_DEBUG_SYSLOG
-		"   -s   log output to syslog instead of stdout\n"
-#endif /* CONFIG_DEBUG_SYSLOG */
 		"   -S   start all the interfaces synchronously\n"
 		"   -t   include timestamps in some debug messages\n"
 		"   -v   show hostapd version\n");
@@ -668,7 +661,7 @@
 	dl_list_init(&interfaces.global_ctrl_dst);
 
 	for (;;) {
-		c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:vg:G:");
+		c = getopt(argc, argv, "b:Bde:f:hi:KP:STtu:vg:G:");
 		if (c < 0)
 			break;
 		switch (c) {
@@ -725,11 +718,6 @@
 			bss_config = tmp_bss;
 			bss_config[num_bss_configs++] = optarg;
 			break;
-#ifdef CONFIG_DEBUG_SYSLOG
-		case 's':
-			wpa_debug_syslog = 1;
-			break;
-#endif /* CONFIG_DEBUG_SYSLOG */
 		case 'S':
 			start_ifaces_in_sync = 1;
 			break;
@@ -758,10 +746,6 @@
 		wpa_debug_open_file(log_file);
 	else
 		wpa_debug_setup_stdout();
-#ifdef CONFIG_DEBUG_SYSLOG
-	if (wpa_debug_syslog)
-		wpa_debug_open_syslog();
-#endif /* CONFIG_DEBUG_SYSLOG */
 #ifdef CONFIG_DEBUG_LINUX_TRACING
 	if (enable_trace_dbg) {
 		int tret = wpa_debug_open_linux_tracing();
@@ -898,7 +882,6 @@
 	hostapd_global_deinit(pid_file, interfaces.eloop_initialized);
 	os_free(pid_file);
 
-	wpa_debug_close_syslog();
 	if (log_file)
 		wpa_debug_close_file();
 	wpa_debug_close_linux_tracing();
