diff --git a/lib/Sema/SemaPseudoObject.cpp b/lib/Sema/SemaPseudoObject.cpp
index 560efa5..795cfba 100644
--- a/lib/Sema/SemaPseudoObject.cpp
+++ b/lib/Sema/SemaPseudoObject.cpp
@@ -441,7 +441,8 @@
   QualType resultType = result.get()->getType();
 
   // That's the postfix result.
-  if (UnaryOperator::isPostfix(opcode) && CanCaptureValueOfType(resultType)) {
+  if (UnaryOperator::isPostfix(opcode) &&
+      (result.get()->isTypeDependent() || CanCaptureValueOfType(resultType))) {
     result = capture(result.take());
     setResultToLastSemantic();
   }
diff --git a/test/SemaCXX/MicrosoftExtensions.cpp b/test/SemaCXX/MicrosoftExtensions.cpp
index 07b93fa..ab3ff69 100644
--- a/test/SemaCXX/MicrosoftExtensions.cpp
+++ b/test/SemaCXX/MicrosoftExtensions.cpp
@@ -302,13 +302,14 @@
   T GetV() { return 0; }
   void SetV(T v) {}
   void f() { V = this->V; V < this->V; }
-  //void g() { V++; }
-  //void h() { V*=2; }
+  void g() { V++; }
+  void h() { V*=2; }
 };
 struct SP10 {
   SP10(int v) {}
   bool operator<(const SP10& v) { return true; }
   SP10 operator*(int v) { return *this; }
+  SP10 operator+(int v) { return *this; }
   SP10& operator=(const SP10& v) { return *this; }
 };
 void TestSP9() {
@@ -329,6 +330,6 @@
 
   SP9<SP10> c3;
   c3.f(); // Overloaded binary op operand
-  //c3.g(); // Overloaded incdec op operand
-  //c3.h(); // Overloaded unary op operand
+  c3.g(); // Overloaded incdec op operand
+  c3.h(); // Overloaded unary op operand
 }
