diff --git a/slang_rs.cpp b/slang_rs.cpp
index 18858b2..af86e78 100644
--- a/slang_rs.cpp
+++ b/slang_rs.cpp
@@ -324,6 +324,11 @@
     if (!setOutput(OutputFile))
       return false;
 
+    if (!JavaReflectionPackageName.empty()) {
+      mRSContext->setReflectJavaPackageName(
+          JavaReflectionPackageName);
+    }
+
     if (Slang::compile() > 0)
       return false;
 
diff --git a/slang_rs_backend.cpp b/slang_rs_backend.cpp
index d0b067e..a1efad1 100644
--- a/slang_rs_backend.cpp
+++ b/slang_rs_backend.cpp
@@ -184,6 +184,16 @@
     slangAssert(version == 1);
   }
 
+  if (mContext->getReflectJavaPackageName().empty()) {
+    mDiagEngine.Report(
+        mSourceMgr.getLocForEndOfFile(mSourceMgr.getMainFileID()),
+        mDiagEngine.getCustomDiagID(clang::DiagnosticsEngine::Error,
+                                    "missing \"#pragma rs "
+                                    "java_package_name(com.foo.bar)\" "
+                                    "in source file"));
+    return;
+  }
+
   // Create a static global destructor if necessary (to handle RS object
   // runtime cleanup).
   clang::FunctionDecl *FD = mRefCount.CreateStaticGlobalDtor();
diff --git a/slang_rs_context.cpp b/slang_rs_context.cpp
index 4ed7e40..a400b12 100644
--- a/slang_rs_context.cpp
+++ b/slang_rs_context.cpp
@@ -293,17 +293,7 @@
   const std::string &PackageName =
       ((OutputPackageName.empty()) ? mReflectJavaPackageName :
                                      OutputPackageName);
-  if (PackageName.empty()) {
-    clang::DiagnosticsEngine *DiagEngine = getDiagnostics();
-    const clang::SourceManager *SM = getSourceManager();
-    DiagEngine->Report(
-        SM->getLocForEndOfFile(SM->getMainFileID()),
-        DiagEngine->getCustomDiagID(clang::DiagnosticsEngine::Error,
-                                    "missing \"#pragma rs "
-                                    "java_package_name(com.foo.bar)\" "
-                                    "in source file"));
-    return false;
-  }
+  slangAssert(!PackageName.empty());
 
   // Copy back the really applied package name
   RealPackageName->assign(PackageName);
diff --git a/tests/F_no_pragma/first.rs b/tests/F_no_pragma/first.rs
new file mode 100644
index 0000000..a53bf90
--- /dev/null
+++ b/tests/F_no_pragma/first.rs
@@ -0,0 +1,3 @@
+#pragma version(1)
+#pragma rs java_package_name(foo)
+
diff --git a/tests/F_no_pragma/second.rs b/tests/F_no_pragma/second.rs
new file mode 100644
index 0000000..a746ce1
--- /dev/null
+++ b/tests/F_no_pragma/second.rs
@@ -0,0 +1,2 @@
+#pragma version(1)
+
diff --git a/tests/F_no_pragma/stderr.txt.expect b/tests/F_no_pragma/stderr.txt.expect
new file mode 100644
index 0000000..8b4c80e
--- /dev/null
+++ b/tests/F_no_pragma/stderr.txt.expect
@@ -0,0 +1 @@
+second.rs:2:1: error: missing "#pragma rs java_package_name(com.foo.bar)" in source file
diff --git a/tests/F_no_pragma/stdout.txt.expect b/tests/F_no_pragma/stdout.txt.expect
new file mode 100644
index 0000000..1a30d53
--- /dev/null
+++ b/tests/F_no_pragma/stdout.txt.expect
@@ -0,0 +1 @@
+Generating ScriptC_first.java ...
