diff --git a/compiler/cpp/src/thrift/generate/t_cpp_generator.cc b/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
index 896c43f..372014d 100644
--- a/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
@@ -299,6 +299,13 @@
   std::string get_include_prefix(const t_program& program) const;
 
   /**
+   * Returns the legal program name to use for a file generated by program, if the
+   * program name contains dots then replace it with underscores, otherwise return the 
+   * original program name.
+   */
+  std::string get_legal_program_name(std::string program_name);
+
+  /**
    * True if we should generate pure enums for Thrift enums, instead of wrapper classes.
    */
   bool gen_pure_enums_;
@@ -386,6 +393,8 @@
   // Make output directory
   MKDIR(get_out_dir().c_str());
 
+  program_name_ = get_legal_program_name(program_name_);
+
   // Make output file
   string f_types_name = get_out_dir() + program_name_ + "_types.h";
   f_types_.open(f_types_name);
@@ -4550,6 +4559,23 @@
   return "";
 }
 
+string t_cpp_generator::get_legal_program_name(std::string program_name)
+{
+  std::size_t found = 0;
+
+  while(true) {
+    found = program_name.find('.');
+
+    if(found != string::npos) {
+      program_name = program_name.replace(found, 1, "_");
+    } else {
+      break;
+    }
+  }
+
+  return program_name;
+}
+
 THRIFT_REGISTER_GENERATOR(
     cpp,
     "C++",
