Index: src/main/java/hudson/EnvVars.java =================================================================== --- src/main/java/hudson/EnvVars.java (revision 31286) +++ src/main/java/hudson/EnvVars.java (working copy) @@ -151,10 +151,13 @@ /** * Resolves environment variables against each other. */ - public static void resolve(Map env) { - for (Map.Entry entry: env.entrySet()) { - entry.setValue(Util.replaceMacro(entry.getValue(), env)); + public static EnvVars resolve(Map env) { + EnvVars resolvedEnv = new EnvVars(env); + for (Map.Entry entry: resolvedEnv.entrySet()) { + entry.setValue(Util.replaceMacro(entry.getValue(), resolvedEnv)); } + + return resolvedEnv; } @Override Index: src/main/java/hudson/model/AbstractBuild.java =================================================================== --- src/main/java/hudson/model/AbstractBuild.java (revision 31286) +++ src/main/java/hudson/model/AbstractBuild.java (working copy) @@ -705,9 +705,7 @@ for (EnvironmentContributingAction a : Util.filter(getActions(),EnvironmentContributingAction.class)) a.buildEnvVars(this,env); - EnvVars.resolve(env); - - return env; + return EnvVars.resolve(env); } public Calendar due() {