diff --git a/src/box/replication.cc b/src/box/replication.cc
index 77c77b4ac1dc27a4b897847f4beb459508043a07..2651e5d6522be37f126cfa44c3881015ab5791da 100644
--- a/src/box/replication.cc
+++ b/src/box/replication.cc
@@ -170,6 +170,7 @@ replication_prefork(const char *snap_dir, const char *wal_dir)
 	 */
 	if (socketpair(PF_LOCAL, SOCK_STREAM, 0, sockpair) != 0)
 		panic_syserror("socketpair");
+	assert(sockpair[0] != STDOUT_FILENO && sockpair[0] != STDERR_FILENO);
 
 	/* create spawner */
 	pid_t pid = fork();
diff --git a/src/say.cc b/src/say.cc
index 9a27f730b7977b382cd0cedb74a69ec2ac115243..3cba2d42aadb40e940f3fa66c15aa73a1fc8b171 100644
--- a/src/say.cc
+++ b/src/say.cc
@@ -206,7 +206,7 @@ say_init_file()
  * Initialize logging subsystem to use in daemon mode.
  */
 void
-say_logger_init(const char *path, int level, int nonblock)
+say_logger_init(const char *path, int level, int nonblock, int background)
 {
 	*log_level = level;
 	logger_nonblock = nonblock;
@@ -220,10 +220,10 @@ say_logger_init(const char *path, int level, int nonblock)
 			snprintf(log_path, sizeof(log_path), "%s", path);
 			say_init_file();
 		}
-		dup2(log_fd, STDERR_FILENO);
-#if 0
-		dup2(log_fd, STDOUT_FILENO);
-#endif
+		if (background) {
+			dup2(log_fd, STDERR_FILENO);
+			dup2(log_fd, STDOUT_FILENO);
+		}
 	}
 	if (nonblock) {
 		int flags = fcntl(log_fd, F_GETFL, 0);
diff --git a/src/say.h b/src/say.h
index 7eba097447a0ad609470776da1f6dabc3ada97cf..b8132ef0f58f11bc14e9b5fb299643098764284e 100644
--- a/src/say.h
+++ b/src/say.h
@@ -61,7 +61,8 @@ say_set_log_level(int new_level);
 void say_init(const char *argv0);
 
 /* Move logging to a separate process. */
-void say_logger_init(const char *logger, int log_level, int nonblock);
+void say_logger_init(const char *logger, int log_level, int nonblock,
+		     int background);
 
 void vsay(int level, const char *filename, int line, const char *error,
           const char *format, va_list ap)
diff --git a/src/tarantool.cc b/src/tarantool.cc
index 9af242d40236c97b41301040489d452df310eff9..fe46976d6d68313a73ac48e47aa2c6b2219a0dbf 100644
--- a/src/tarantool.cc
+++ b/src/tarantool.cc
@@ -455,7 +455,8 @@ load_cfg()
 	}
 	say_logger_init(cfg_gets("logger"),
 			cfg_geti("log_level"),
-			cfg_geti("logger_nonblock"));
+			cfg_geti("logger_nonblock"),
+			cfg_geti("background"));
 
 	say_crit("version %s", tarantool_version());
 	say_crit("log level %i", cfg_geti("log_level"));