--- _cursesmodule.c 2008-06-19 07:02:30.000000000 -0700 +++ _cursesmodulefixed.c 2010-01-30 03:33:55.000000000 -0800 @@ -2036,7 +2036,7 @@ } } - if (setupterm(termstr,fd,&err) == ERR) { + if ((!initialised) && (setupterm(termstr,fd,&err) == ERR)) { char* s = "setupterm: unknown error"; if (err == 0) {