Expect - Interact output hangs when large output

Hello,
I have a simple expect script I use to ssh to a workstation. I then pass control over to the user with interact.
This script works fine on my HP and Mac, but on my Linux Desktop, I get a problem where the terminal hangs when ever I execute a command in the interact session that requires a fairly large output to be dumped.

For example, if I run "ls" on a directory with a lot of files, it seems like the output just loops indefinitely (I see the files in the directory repeatedly) and I don't get control back. I can't even stop it with ctrl-c , I need to kill the process.

I tried setting option: interact -nobuffer with no success. I have a feeling it has to do with the speed of the output, or the buffer size of interact. Any suggestions?

Below is my expect script:
#!/usr/bin/expect

if {[llength $argv] < 1 } {

puts "Incorrect arguments. Enter following syntax:\\n"
    puts "        tn &lt;node to telnet to&gt; \\n\\r"
    puts "Example: \\n"
    puts "        tn ottud023 \\n\\r\\n\\r"
    exit 1

}

set wsname [lindex $argv 0]
set displayno 0
set timeout 15

exec xhost +

spawn ssh $wsname -l $UserID
set spwnid1 $spawn_id

expect {
-i $spwnid1
"login" {
send "$UserID\n"
}
"Password" {
send "$Passwd\n"
}
"password" {
send "$Passwd\n"
}
timeout {
send_user "TIMEOUT\n"
}
}

# clear out buffer
expect -re {.*} {}

interact -nobuffer