Index: new/common/session-env.c =================================================================== --- new/common/session-env.c +++ new/common/session-env.c @@ -328,8 +328,12 @@ /* Get the default value with and additional fallback for GPG_TTY. */ defvalue = getenv (name); - if ((!defvalue || !*defvalue) && !strcmp (name, "GPG_TTY") && ttyname (0)) - defvalue = ttyname (0); + if ((!defvalue || !*defvalue) && !strcmp (name, "GPG_TTY")) + { + defvalue = ttyname (0); + if (!defvalue) + defvalue = "/dev/tty"; + } if (defvalue) { /* Record the default value for later use so that we are safe Index: new/common/simple-pwquery.c =================================================================== --- new/common/simple-pwquery.c +++ new/common/simple-pwquery.c @@ -223,8 +223,12 @@ dft_ttyname = getenv ("GPG_TTY"); #ifndef HAVE_W32_SYSTEM - if ((!dft_ttyname || !*dft_ttyname) && ttyname (0)) - dft_ttyname = ttyname (0); + if (!dft_ttyname || !*dft_ttyname) + { + dft_ttyname = ttyname (0); + if (!dft_ttyname) + dft_ttyname = "/dev/tty"; + } #endif if (dft_ttyname && *dft_ttyname) {