diff --git a/simpleid/www/discovery.inc.php b/simpleid/www/discovery.inc.php
index 30c50e6..17939f8 100644
--- a/simpleid/www/discovery.inc.php
+++ b/simpleid/www/discovery.inc.php
@@ -441,7 +441,7 @@
      *
      * This constructor also initialises the underlying XML parser.
      */
-    function XRDSParser() {
+    function __construct() {
         $this->parser = xml_parser_create_ns();
         xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING,0);
         xml_set_object($this->parser, $this);
diff --git a/simpleid/www/lib/gettext/gettext.php b/simpleid/www/lib/gettext/gettext.php
index 5064047..81af555 100644
--- a/simpleid/www/lib/gettext/gettext.php
+++ b/simpleid/www/lib/gettext/gettext.php
@@ -98,7 +98,7 @@
    * @param object Reader the StreamReader object
    * @param boolean enable_cache Enable or disable caching of strings (default on)
    */
-  function gettext_reader($Reader, $enable_cache = true) {
+  function __construct($Reader, $enable_cache = true) {
     // If there isn't a StreamReader, turn on short circuit mode.
     if (! $Reader || isset($Reader->error) ) {
       $this->short_circuit = true;
diff --git a/simpleid/www/lib/gettext/streams.php b/simpleid/www/lib/gettext/streams.php
index 3cdc158..86aaf89 100644
--- a/simpleid/www/lib/gettext/streams.php
+++ b/simpleid/www/lib/gettext/streams.php
@@ -49,7 +49,7 @@
   var $_pos;
   var $_str;
 
-  function StringReader($str='') {
+  function __construct($str='') {
     $this->_str = $str;
     $this->_pos = 0;
   }
@@ -86,7 +86,7 @@
   var $_fd;
   var $_length;
 
-  function FileReader($filename) {
+  function __construct($filename) {
     if (file_exists($filename)) {
 
       $this->_length=filesize($filename);
