diff --git a/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c b/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
index 55efa86865de47c94c9e92702799e22e15f3917c..5bfe2a455cdb006fb7f82955ae7e835f960a320e 100644
--- a/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
+++ b/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
@@ -1,12 +1,14 @@
-// RUN: %clang_cc1 -emit-llvm %s -o - | \
-// RUN:   opt -std-compile-opts -emit-llvm | not grep {declare i32.*func}
+// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
 
 // There should not be an unresolved reference to func here.  Believe it or not,
-// the "expected result" is a function named 'func' which is internal and 
+// the "expected result" is a function named 'func' which is internal and
 // referenced by bar().
 
 // This is PR244
 
+// CHECK: define void @bar(
+// CHECK: call {{.*}} @func
+// CHECK: define internal i32 @func(
 static int func();
 void bar() {
   int func();