optimizer keeps walls instead of averaging them