diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index 8378a20..5051bc7 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -237,7 +237,7 @@
   GlobalVariable *GV = cast<GlobalVariable>(GVal);
   
   // First off, we must allocate space for the global variable to point at...
-  const Type *Ty = GV->getType()->getValueType();  // Type to be allocated
+  const Type *Ty = GV->getType()->getElementType();  // Type to be allocated
   unsigned NumElements = 1;
 
   if (isa<ArrayType>(Ty) && cast<ArrayType>(Ty)->isUnsized()) {
@@ -728,7 +728,7 @@
 //===----------------------------------------------------------------------===//
 
 void Interpreter::executeAllocInst(AllocationInst *I, ExecutionContext &SF) {
-  const Type *Ty = I->getType()->getValueType();  // Type to be allocated
+  const Type *Ty = I->getType()->getElementType();  // Type to be allocated
   unsigned NumElements = 1;
 
   if (I->getNumOperands()) {   // Allocating a unsized array type?
@@ -771,7 +771,7 @@
 
   PointerTy Total = 0;
   const Type *Ty =
-    cast<PointerType>(I->getPointerOperand()->getType())->getValueType();
+    cast<PointerType>(I->getPointerOperand()->getType())->getElementType();
   
   unsigned ArgOff = I->getFirstIndexOperandNumber();
   while (ArgOff < I->getNumOperands()) {
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index 04a73e8..4af07ad 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -130,8 +130,8 @@
 
   // Specialize print([ubyte {x N} ] *) and print(sbyte *)
   if (PointerType *PTy = dyn_cast<PointerType>(M->getParamTypes()[0].get()))
-    if (PTy->getValueType() == Type::SByteTy ||
-        isa<ArrayType>(PTy->getValueType())) {
+    if (PTy->getElementType() == Type::SByteTy ||
+        isa<ArrayType>(PTy->getElementType())) {
       return lle_VP_printstr(M, ArgVal);
     }
 
