--- tester.cc 92f084120ecb09cf0c92c3f291070cfe250a88b8 +++ tester.cc c6bbcfe068040e5d4eef9b7ffc66a8de05d49fd4 @@ -413,11 +413,13 @@ LUAEXT(set_env, ) { char const * var = luaL_checkstring(L, -2); char const * val = luaL_checkstring(L, -1); - char const * old = getenv(var); - if (old) - orig_env_vars.insert(make_pair(string(var), string(old))); - else - orig_env_vars.insert(make_pair(string(var), "")); + if (orig_env_vars.find(string(var)) == orig_env_vars.end()) { + char const * old = getenv(var); + if (old) + orig_env_vars.insert(make_pair(string(var), string(old))); + else + orig_env_vars.insert(make_pair(string(var), "")); + } setenv(var, val); return 0; }