diff --git a/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp
index 49a25f2..0c1b858 100644
--- a/lib/Lex/Preprocessor.cpp
+++ b/lib/Lex/Preprocessor.cpp
@@ -221,16 +221,10 @@
     }
   }
   
-  for (unsigned Column = 1; Column < TruncateAtColumn; ++Column, ++Position) {
-    if (!*Position)
-      break;
-    
-    if (*Position == '\t')
-      Column += 7;
-  }
+  Position += TruncateAtColumn - 1;
   
   // Truncate the buffer.
-  if (Position != Buffer->getBufferEnd()) {
+  if (Position < Buffer->getBufferEnd()) {
     MemoryBuffer *TruncatedBuffer 
       = MemoryBuffer::getMemBufferCopy(Buffer->getBufferStart(), Position, 
                                        Buffer->getBufferIdentifier());
