diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index 75b114d..a7448a4 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -189,7 +189,7 @@
 void t_java_generator::init_generator() {
   // Make output directory
   MKDIR(get_out_dir().c_str());
-  package_name_ = program_->get_java_package();
+  package_name_ = program_->get_namespace("java");
 
   string dir = package_name_;
   string subdir = get_out_dir();
@@ -2000,7 +2000,7 @@
   // Check for namespacing
   t_program* program = ttype->get_program();
   if (program != NULL && program != program_) {
-    string package = program->get_java_package();
+    string package = program->get_namespace("java");
     if (!package.empty()) {
       return package + "." + ttype->get_name();
     }
diff --git a/compiler/cpp/src/parse/t_program.h b/compiler/cpp/src/parse/t_program.h
index ef9db49..72c3cdd 100644
--- a/compiler/cpp/src/parse/t_program.h
+++ b/compiler/cpp/src/parse/t_program.h
@@ -176,14 +176,6 @@
     return php_namespace_;
   }
 
-  void set_java_package(std::string java_package) {
-    java_package_ = java_package;
-  }
-
-  const std::string& get_java_package() const {
-    return java_package_;
-  }
-
   void set_csharp_namespace(std::string csharp_namespace) {
     csharp_namespace_ = csharp_namespace;
   }
@@ -289,9 +281,6 @@
   // PHP namespace
   std::string php_namespace_;
 
-  // Java package
-  std::string java_package_;
-
   // XSD namespace
   std::string xsd_namespace_;
 
diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
index bb68358..9aa56bd 100644
--- a/compiler/cpp/src/thrifty.yy
+++ b/compiler/cpp/src/thrifty.yy
@@ -312,11 +312,13 @@
         g_program->set_smalltalk_prefix($2);
       }
     }
+/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
 | tok_java_package tok_identifier
     {
+      pwarning(1, "'cpp_namespace' is deprecated. Use 'namespace cpp' instead");
       pdebug("Header -> tok_java_package tok_identifier");
       if (g_parse_mode == PROGRAM) {
-        g_program->set_java_package($2);
+        g_program->set_namespace("java", $2);
       }
     }
 | tok_cocoa_prefix tok_identifier
diff --git a/test/DocTest.thrift b/test/DocTest.thrift
index d760d9e..72599fa 100755
--- a/test/DocTest.thrift
+++ b/test/DocTest.thrift
@@ -4,7 +4,7 @@
  * Seriously, this is the documentation for this whole program.
  */
 
-java_package thrift.test
+namespace java thrift.test
 namespace cpp thrift.test
 
 // C++ comment
diff --git a/test/ThriftTest.thrift b/test/ThriftTest.thrift
index 6339f4d..94a8548 100644
--- a/test/ThriftTest.thrift
+++ b/test/ThriftTest.thrift
@@ -1,4 +1,4 @@
-java_package thrift.test
+namespace java thrift.test
 namespace cpp thrift.test
 ruby_namespace Thrift.Test
 perl_package ThriftTest
diff --git a/thrift.el b/thrift.el
index c094a14..3383aee 100644
--- a/thrift.el
+++ b/thrift.el
@@ -10,7 +10,7 @@
 (defconst thrift-font-lock-keywords
   (list
    '("#.*$" . font-lock-comment-face)  ;; perl style comments
-   '("\\<\\(include\\|struct\\|exception\\|typedef\\|java_package\\|cocoa_prefix\\|csharp_namespace\\|php_namespace\\|ruby_namespace\\|py_module\\|perl_package\\|smalltalk_category\\|smalltalk_prefix\\|const\\|enum\\|service\\|extends\\|void\\|async\\|throws\\|optional\\|required\\)\\>" . font-lock-keyword-face)  ;; keywords
+   '("\\<\\(include\\|struct\\|exception\\|typedef\\|cocoa_prefix\\|csharp_namespace\\|php_namespace\\|ruby_namespace\\|py_module\\|perl_package\\|smalltalk_category\\|smalltalk_prefix\\|const\\|enum\\|service\\|extends\\|void\\|async\\|throws\\|optional\\|required\\)\\>" . font-lock-keyword-face)  ;; keywords
    '("\\<\\(bool\\|byte\\|i16\\|i32\\|i64\\|double\\|string\\|binary\\|map\\|list\\|set\\)\\>" . font-lock-type-face)  ;; built-in types
    '("\\<\\([0-9]+\\)\\>" . font-lock-variable-name-face)   ;; ordinals
    '("\\<\\(\\w+\\)\\s-*(" (1 font-lock-function-name-face))  ;; functions
diff --git a/thrift.vim b/thrift.vim
index bf6414b..4cadaf7 100644
--- a/thrift.vim
+++ b/thrift.vim
@@ -30,7 +30,7 @@
 syn match thriftNumber "-\=\<\d\+\>" contained
 
 " Keywords
-syn keyword thriftKeyword namespace java_package cocoa_prefix
+syn keyword thriftKeyword namespace cocoa_prefix
 syn keyword thriftKeyword csharp_namespace smalltalk_category smalltalk_prefix
 syn keyword thriftKeyword php_namespace ruby_namespace py_module perl_package
 syn keyword thriftKeyword xsd_all xsd_optional xsd_nillable xsd_namespace xsd_attrs
diff --git a/tutorial/shared.thrift b/tutorial/shared.thrift
index 0d50bfa..e986537 100755
--- a/tutorial/shared.thrift
+++ b/tutorial/shared.thrift
@@ -6,7 +6,7 @@
  */
 
 namespace cpp shared
-java_package shared
+namespace java shared
 perl_package shared
 
 struct SharedStruct {
diff --git a/tutorial/tutorial.thrift b/tutorial/tutorial.thrift
index 575afcb..3a1b7d2 100755
--- a/tutorial/tutorial.thrift
+++ b/tutorial/tutorial.thrift
@@ -45,7 +45,7 @@
  * target languages.
  */
 namespace cpp tutorial
-java_package tutorial
+namespace java tutorial
 php_namespace tutorial
 perl_package tutorial
 smalltalk_category Thrift-Tutorial
