diff --git a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
index 0f73189..37f16f5 100644
--- a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
+++ b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
@@ -26,8 +26,7 @@
 
 /// create - Create a new interpreter object.  This can never fail.
 ///
-ExecutionEngine *Interpreter::create(ModuleProvider *MP,
-                                     IntrinsicLowering *IL) {
+ExecutionEngine *Interpreter::create(ModuleProvider *MP) {
   Module *M;
   try {
     M = MP->materializeModule();
@@ -55,17 +54,16 @@
     break;
   }
 
-  return new Interpreter(M, isLittleEndian, isLongPointer, IL);
+  return new Interpreter(M, isLittleEndian, isLongPointer);
 }
 
 //===----------------------------------------------------------------------===//
 // Interpreter ctor - Initialize stuff
 //
-Interpreter::Interpreter(Module *M, bool isLittleEndian, bool isLongPointer,
-                         IntrinsicLowering *il)
+Interpreter::Interpreter(Module *M, bool isLittleEndian, bool isLongPointer)
   : ExecutionEngine(M),
     TD("lli", isLittleEndian, isLongPointer ? 8 : 4, isLongPointer ? 8 : 4,
-       isLongPointer ? 8 : 4), IL(il) {
+       isLongPointer ? 8 : 4) {
 
   memset(&ExitValue, 0, sizeof(ExitValue));
   setTargetData(TD);
@@ -74,7 +72,7 @@
   initializeExternalFunctions();
   emitGlobals();
 
-  if (IL == 0) IL = new DefaultIntrinsicLowering();
+  IL = new DefaultIntrinsicLowering();
 }
 
 Interpreter::~Interpreter() {
