diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index bfd6bc9..df95757 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -694,7 +694,7 @@
              E = STy->getElementTypes().end(); I != E; ++I) {
         const Type *Ty1 = I->get();
         if (isa<StructType>(Ty1) || isa<ArrayType>(Ty1))
-          printContainedStructs(Ty1, StructPrinted);
+          printContainedStructs(*I, StructPrinted);
       }
       
       //Print structure type out..
@@ -1121,7 +1121,7 @@
     return;
   }
 
-  const Constant *CI = dyn_cast<Constant>(I->get());
+  const Constant *CI = dyn_cast<Constant>(I);
   if (HasImplicitAddress && (!CI || !CI->isNullValue()))
     Out << "(&";
 
diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp
index bfd6bc9..df95757 100644
--- a/lib/Target/CBackend/Writer.cpp
+++ b/lib/Target/CBackend/Writer.cpp
@@ -694,7 +694,7 @@
              E = STy->getElementTypes().end(); I != E; ++I) {
         const Type *Ty1 = I->get();
         if (isa<StructType>(Ty1) || isa<ArrayType>(Ty1))
-          printContainedStructs(Ty1, StructPrinted);
+          printContainedStructs(*I, StructPrinted);
       }
       
       //Print structure type out..
@@ -1121,7 +1121,7 @@
     return;
   }
 
-  const Constant *CI = dyn_cast<Constant>(I->get());
+  const Constant *CI = dyn_cast<Constant>(I);
   if (HasImplicitAddress && (!CI || !CI->isNullValue()))
     Out << "(&";
 
