diff --git a/compiler/cpp/src/generate/t_php_generator.cc b/compiler/cpp/src/generate/t_php_generator.cc
index 53a680f..08d0916 100644
--- a/compiler/cpp/src/generate/t_php_generator.cc
+++ b/compiler/cpp/src/generate/t_php_generator.cc
@@ -166,7 +166,7 @@
   std::string type_to_enum(t_type* ttype);
 
   std::string php_namespace(t_program* p) {
-    std::string ns = p->get_php_namespace();
+    std::string ns = p->get_namespace("php");
     return ns.size() ? (ns + "_") : "";
   }
 
diff --git a/compiler/cpp/src/parse/t_program.h b/compiler/cpp/src/parse/t_program.h
index 83ffbea..c71ebcc 100644
--- a/compiler/cpp/src/parse/t_program.h
+++ b/compiler/cpp/src/parse/t_program.h
@@ -168,14 +168,6 @@
     return cpp_includes_;
   }
 
-  void set_php_namespace(std::string php_namespace) {
-    php_namespace_ = php_namespace;
-  }
-
-  const std::string& get_php_namespace() const {
-    return php_namespace_;
-  }
-
  private:
 
   // File path
@@ -214,9 +206,6 @@
   // C++ extra includes
   std::vector<std::string> cpp_includes_;
 
-  // PHP namespace
-  std::string php_namespace_;
-
 };
 
 #endif
diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
index 24f4eda..b71fd7e 100644
--- a/compiler/cpp/src/thrifty.yy
+++ b/compiler/cpp/src/thrifty.yy
@@ -282,9 +282,10 @@
     }
 | tok_php_namespace tok_identifier
     {
+      pwarning(1, "'php_namespace' is deprecated. Use 'namespace php' instead");
       pdebug("Header -> tok_php_namespace tok_identifier");
       if (g_parse_mode == PROGRAM) {
-        g_program->set_php_namespace($2);
+        g_program->set_namespace("php", $2);
       }
     }
 /* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
diff --git a/contrib/thrift.el b/contrib/thrift.el
index 736b720..56d2b94 100644
--- a/contrib/thrift.el
+++ b/contrib/thrift.el
@@ -10,7 +10,7 @@
 (defconst thrift-font-lock-keywords
   (list
    '("#.*$" . font-lock-comment-face)  ;; perl style comments
-   '("\\<\\(include\\|struct\\|exception\\|typedef\\|php_namespace\\|const\\|enum\\|service\\|extends\\|void\\|async\\|throws\\|optional\\|required\\)\\>" . font-lock-keyword-face)  ;; keywords
+   '("\\<\\(include\\|struct\\|exception\\|typedef\\|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/contrib/thrift.vim b/contrib/thrift.vim
index 04d6a10..e8580c7 100644
--- a/contrib/thrift.vim
+++ b/contrib/thrift.vim
@@ -31,7 +31,6 @@
 
 " Keywords
 syn keyword thriftKeyword namespace
-syn keyword thriftKeyword php_namespace
 syn keyword thriftKeyword xsd_all xsd_optional xsd_nillable xsd_attrs
 syn keyword thriftKeyword include cpp_include cpp_type const optional required
 syn keyword thriftBasicTypes void bool byte i16 i32 i64 double string binary
diff --git a/tutorial/tutorial.thrift b/tutorial/tutorial.thrift
index 2655bcb..1eb83b6 100755
--- a/tutorial/tutorial.thrift
+++ b/tutorial/tutorial.thrift
@@ -47,7 +47,7 @@
  */
 namespace cpp tutorial
 namespace java tutorial
-php_namespace tutorial
+namespace php tutorial
 namespace perl tutorial
 namespace smalltalk.category Thrift.Tutorial
 
