diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp
index a2658b3..0d32eac 100644
--- a/lib/Transforms/Scalar/InstructionCombining.cpp
+++ b/lib/Transforms/Scalar/InstructionCombining.cpp
@@ -10695,7 +10695,12 @@
   gep_type_iterator GTI = gep_type_begin(GEP);
   for (User::op_iterator i = GEP.op_begin() + 1, e = GEP.op_end();
        i != e; ++i, ++GTI) {
-    if (isa<SequentialType>(*GTI)) {
+    // Before trying to eliminate/introduce cast/ext/trunc to make
+    // indices as pointer types, make sure that the pointer size
+    // makes a valid sequential index.
+    const SequentialType *ST = dyn_cast<SequentialType>(*GTI);
+    Value *PtrTypeVal = Constant::getNullValue(TD->getIntPtrType());
+    if (ST && ST->indexValid(PtrTypeVal)) {
       if (CastInst *CI = dyn_cast<CastInst>(*i)) {
         if (CI->getOpcode() == Instruction::ZExt ||
             CI->getOpcode() == Instruction::SExt) {
