diff --git a/src/main/main.c b/src/main/main.c
index 97f2a19ef..d9d26778d 100644
--- a/src/main/main.c
+++ b/src/main/main.c
@@ -361,10 +361,6 @@ main(int argc, char *argv[])
 	ac = argc;
 	av = (char **) argv;
 
-#ifdef CONFIG_OS_DOS
-	init_os();
-#endif
-
 	select_loop(init);
 	terminate_all_subsystems();
 
diff --git a/src/osdep/dos/dos.c b/src/osdep/dos/dos.c
index 9f65d100a..959943af1 100644
--- a/src/osdep/dos/dos.c
+++ b/src/osdep/dos/dos.c
@@ -1014,7 +1014,7 @@ void os_seed_random(unsigned char **pool, int *pool_size)
 	*pool_size = RANDOM_POOL_SIZE;
 }
 
-void init_os(void)
+void init_osdep(void)
 {
 	int s, rs;
 	struct sigaction sa;
diff --git a/src/osdep/dos/dos.h b/src/osdep/dos/dos.h
index e9d9c7047..0ed4aab22 100644
--- a/src/osdep/dos/dos.h
+++ b/src/osdep/dos/dos.h
@@ -22,7 +22,6 @@ int dos_write(int fd, const void *buf, size_t size);
 int dos_pipe(int fd[2]);
 int dos_close(int fd);
 int dos_select(int n, fd_set *rs, fd_set *ws, fd_set *es, struct timeval *t, int from_main_loop);
-void init_os(void);
 void save_terminal(void);
 void restore_terminal(void);
 int dos_setraw(int ctl, int save);
diff --git a/src/osdep/osdep.c b/src/osdep/osdep.c
index 215d345d1..435f3e1b2 100644
--- a/src/osdep/osdep.c
+++ b/src/osdep/osdep.c
@@ -904,7 +904,7 @@ get_input_handle(void)
 
 #endif
 
-#ifndef CONFIG_OS_WIN32
+#if !defined(CONFIG_OS_WIN32) && !defined(CONFIG_OS_DOS)
 
 void
 init_osdep(void)