diff --git a/lib/CodeGen/CGVTT.cpp b/lib/CodeGen/CGVTT.cpp
index f2b2945..6b21046 100644
--- a/lib/CodeGen/CGVTT.cpp
+++ b/lib/CodeGen/CGVTT.cpp
@@ -165,6 +165,13 @@
 void VTTBuilder::AddVTablePointer(BaseSubobject Base, llvm::Constant *VTable,
                                   const CXXRecordDecl *VTableClass,
                                   const AddressPointsMapTy& AddressPoints) {
+  // Store the vtable pointer index if we're generating the primary VTT.
+  if (Base.getBase() == MostDerivedClass) {
+    assert(!SecondaryVirtualPointerIndices.count(Base) &&
+           "A virtual pointer index already exists for this base subobject!");
+    SecondaryVirtualPointerIndices[Base] = VTTComponents.size();
+  }
+
   if (!GenerateDefinition) {
     VTTComponents.push_back(0);
     return;
diff --git a/lib/CodeGen/CGVtable.cpp b/lib/CodeGen/CGVtable.cpp
index 4bdda98..804c684 100644
--- a/lib/CodeGen/CGVtable.cpp
+++ b/lib/CodeGen/CGVtable.cpp
@@ -4080,6 +4080,8 @@
         const ThunkInfo &Thunk = VTableThunks[NextVTableThunkIndex].second;
         
         Init = CGM.GetAddrOfThunk(GD, Thunk);
+        
+        NextVTableThunkIndex++;
       } else {
         const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
         const llvm::Type *Ty = CGM.getTypes().GetFunctionTypeForVtable(MD);
