diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp
index 0c7da0e..14aa996 100644
--- a/lib/Sema/SemaChecking.cpp
+++ b/lib/Sema/SemaChecking.cpp
@@ -160,14 +160,23 @@
                      (*(TheCall->arg_end()-1))->getLocEnd());
     return true;
   }
-  
+
+  if (TheCall->getNumArgs() < 2) {
+    return Diag(TheCall->getLocEnd(), diag::err_typecheck_call_too_few_args)
+      << 0 /*function call*/;
+  }
+
   // Determine whether the current function is variadic or not.
   bool isVariadic;
-  if (getCurFunctionDecl())
-    isVariadic =
-      cast<FunctionTypeProto>(getCurFunctionDecl()->getType())->isVariadic();
-  else
+  if (getCurFunctionDecl()) {
+    if (FunctionTypeProto* FTP =
+            dyn_cast<FunctionTypeProto>(getCurFunctionDecl()->getType()))
+      isVariadic = FTP->isVariadic();
+    else
+      isVariadic = false;
+  } else {
     isVariadic = getCurMethodDecl()->isVariadic();
+  }
   
   if (!isVariadic) {
     Diag(Fn->getLocStart(), diag::err_va_start_used_in_non_variadic_function);
diff --git a/test/Sema/varargs.c b/test/Sema/varargs.c
index efde2f0..5e0f28b 100644
--- a/test/Sema/varargs.c
+++ b/test/Sema/varargs.c
@@ -34,3 +34,12 @@
  __builtin_va_end (ap);
 }
 
+void f5() {
+  __builtin_va_list ap;
+  __builtin_va_start(ap,ap); // expected-error {{'va_start' used in function with fixed args}}
+}
+
+void f6(int a, ...) {
+  __builtin_va_list ap;
+  __builtin_va_start(ap); // expected-error {{too few arguments to function}}
+}
