diff --git a/compiler/cpp/src/main.cc b/compiler/cpp/src/main.cc
index 75d23e2..80da53a 100644
--- a/compiler/cpp/src/main.cc
+++ b/compiler/cpp/src/main.cc
@@ -1160,19 +1160,19 @@
   if (out_path.size()) {
     program->set_out_path(out_path);
   }
-  if (g_cpp_use_include_prefix) {
-    // infer this from the filename passed in
-    string input_filename = argv[i];
-    string include_prefix;
 
-    string::size_type last_slash = string::npos;
-    if ((last_slash = input_filename.rfind("/")) != string::npos) {
-      include_prefix = input_filename.substr(0, last_slash);
-    }
+  // Compute the cpp include prefix.
+  // infer this from the filename passed in
+  string input_filename = argv[i];
+  string include_prefix;
 
-    program->set_include_prefix(include_prefix);
+  string::size_type last_slash = string::npos;
+  if ((last_slash = input_filename.rfind("/")) != string::npos) {
+    include_prefix = input_filename.substr(0, last_slash);
   }
 
+  program->set_include_prefix(include_prefix);
+
   // Initialize global types
   g_type_void   = new t_base_type("void",   t_base_type::TYPE_VOID);
   g_type_string = new t_base_type("string", t_base_type::TYPE_STRING);
