diff --git a/Lib/php/director.swg b/Lib/php/director.swg
index 218a84e..54e4640 100644
--- a/Lib/php/director.swg
+++ b/Lib/php/director.swg
@@ -106,7 +106,7 @@ namespace Swig {
       Director(zval* self) : swig_self(self) {
       }
 
-      bool swig_is_overridden_method(char *cname, char *lc_fname) {
+      bool swig_is_overridden_method(char *cname, char *lc_fname TSRMLS_DC) {
         zend_class_entry **ce;
         zend_function *mptr;
         int name_len = strlen(lc_fname);
diff --git a/Source/Modules/php.cxx b/Source/Modules/php.cxx
index b4af248..626d12e 100644
--- a/Source/Modules/php.cxx
+++ b/Source/Modules/php.cxx
@@ -806,7 +806,7 @@ public:
       Wrapper_add_local(f, "director", "Swig::Director *director = 0");
       Printf(f->code, "director = dynamic_cast<Swig::Director*>(arg1);\n");
       Wrapper_add_local(f, "upcall", "bool upcall = false");
-      Printf(f->code, "upcall = !director->swig_is_overridden_method((char *)\"%s%s\", (char *)\"%s\");\n",
+      Printf(f->code, "upcall = !director->swig_is_overridden_method((char *)\"%s%s\", (char *)\"%s\" TSRMLS_CC);\n",
 	  prefix, Swig_class_name(Swig_methodclass(n)), name);
     }
 

