diff --git a/src/libply-splash-core/ply-terminal.c b/src/libply-splash-core/ply-terminal.c index f71f25af..ff59d719 100644 --- a/src/libply-splash-core/ply-terminal.c +++ b/src/libply-splash-core/ply-terminal.c @@ -188,7 +188,8 @@ ply_terminal_set_unbuffered_input (ply_terminal_t *terminal) if (tcsetattr (terminal->fd, TCSANOW, &term_attributes) != 0) return false; - if (ioctl (terminal->fd, TIOCGLCKTRMIOS, &locked_term_attributes) == 0) + if (!terminal->original_locked_term_attributes_saved && + ioctl (terminal->fd, TIOCGLCKTRMIOS, &locked_term_attributes) == 0) { terminal->original_locked_term_attributes = locked_term_attributes; terminal->original_locked_term_attributes_saved = true;