diff --git a/src/glsl/ir_dead_code.cpp b/src/glsl/ir_dead_code.cpp
index 8821304..51fa96d 100644
--- a/src/glsl/ir_dead_code.cpp
+++ b/src/glsl/ir_dead_code.cpp
@@ -71,6 +71,8 @@
 
    /* List of variable_entry */
    exec_list variable_list;
+
+   void *mem_ctx;
 };
 
 
@@ -84,9 +86,7 @@
 	 return entry;
    }
 
-   void *ctx = talloc_parent(var);
-
-   variable_entry *entry = new(ctx) variable_entry(var);
+   variable_entry *entry = new(mem_ctx) variable_entry(var);
    this->variable_list.push_tail(entry);
    return entry;
 }
@@ -147,11 +147,13 @@
  * for usage on an unlinked instruction stream.
  */
 bool
-do_dead_code(exec_list *instructions)
+do_dead_code(struct _mesa_glsl_parse_state *state,
+	     exec_list *instructions)
 {
    ir_dead_code_visitor v;
    bool progress = false;
 
+   v.mem_ctx = state;
    v.run(instructions);
 
    foreach_iter(exec_list_iterator, iter, v.variable_list) {
@@ -198,7 +200,8 @@
  * with global scope.
  */
 bool
-do_dead_code_unlinked(exec_list *instructions)
+do_dead_code_unlinked(struct _mesa_glsl_parse_state *state,
+		      exec_list *instructions)
 {
    bool progress = false;
 
@@ -209,7 +212,7 @@
 	 foreach_iter(exec_list_iterator, sigiter, *f) {
 	    ir_function_signature *sig =
 	       (ir_function_signature *) sigiter.get();
-	    if (do_dead_code(&sig->body))
+	    if (do_dead_code(state, &sig->body))
 	       progress = true;
 	 }
       }
diff --git a/src/glsl/ir_optimization.h b/src/glsl/ir_optimization.h
index 432a334..147f921 100644
--- a/src/glsl/ir_optimization.h
+++ b/src/glsl/ir_optimization.h
@@ -32,9 +32,11 @@
 bool do_constant_variable(exec_list *instructions);
 bool do_constant_variable_unlinked(exec_list *instructions);
 bool do_copy_propagation(exec_list *instructions);
-bool do_dead_code(exec_list *instructions);
+bool do_dead_code(struct _mesa_glsl_parse_state *state,
+		  exec_list *instructions);
 bool do_dead_code_local(exec_list *instructions);
-bool do_dead_code_unlinked(exec_list *instructions);
+bool do_dead_code_unlinked(struct _mesa_glsl_parse_state *state,
+			   exec_list *instructions);
 bool do_function_inlining(exec_list *instructions);
 bool do_if_simplification(exec_list *instructions);
 bool do_swizzle_swizzle(exec_list *instructions);
diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp
index dcd9bd6..b32e2ad 100644
--- a/src/glsl/main.cpp
+++ b/src/glsl/main.cpp
@@ -157,7 +157,7 @@
 	 progress = do_if_simplification(&shader->ir) || progress;
 	 progress = do_copy_propagation(&shader->ir) || progress;
 	 progress = do_dead_code_local(&shader->ir) || progress;
-	 progress = do_dead_code_unlinked(&shader->ir) || progress;
+	 progress = do_dead_code_unlinked(state, &shader->ir) || progress;
 	 progress = do_constant_variable_unlinked(&shader->ir) || progress;
 	 progress = do_constant_folding(&shader->ir) || progress;
 	 progress = do_vec_index_to_swizzle(&shader->ir) || progress;
diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp
index f58af0f..0425e7d 100644
--- a/src/mesa/shader/ir_to_mesa.cpp
+++ b/src/mesa/shader/ir_to_mesa.cpp
@@ -1332,7 +1332,7 @@
 	 progress = do_if_simplification(&shader->ir) || progress;
 	 progress = do_copy_propagation(&shader->ir) || progress;
 	 progress = do_dead_code_local(&shader->ir) || progress;
-	 progress = do_dead_code_unlinked(&shader->ir) || progress;
+	 progress = do_dead_code_unlinked(state, &shader->ir) || progress;
 	 progress = do_constant_variable_unlinked(&shader->ir) || progress;
 	 progress = do_constant_folding(&shader->ir) || progress;
 	 progress = do_vec_index_to_swizzle(&shader->ir) || progress;
