diff --git a/src/odoors/ODInEx1.c b/src/odoors/ODInEx1.c
index ecb9888a5802328569666503b22a9cd1db816add..ea347cfd9efd31b7ea7eb545c4ec19ae9226a475 100644
--- a/src/odoors/ODInEx1.c
+++ b/src/odoors/ODInEx1.c
@@ -2223,9 +2223,12 @@ malloc_error:
    gethostname(od_control.system_name,sizeof(od_control.system_name));
    od_control.system_name[sizeof(od_control.system_name)-1]=0;
    if (isatty(fileno(stdin)))  {
-      tcgetattr(fileno(stdin),&term);
-	  od_control.baud=term.c_ispeed;
-	  od_control.baud=term.c_ospeed;
+     tcgetattr(fileno(stdin),&term);
+	  od_control.baud=cfgetispeed(&term);
+     if(!od_control.baud)
+	    od_control.baud=cfgetispeed(&term);
+     if(!od_control.baud)
+		 od_control.baud=300;
    }
    uinfo=getpwuid(getuid());
    ODStringCopy(od_control.user_handle, uinfo->pw_name,sizeof(od_control.user_handle));