diff --git a/include/class.api.php b/include/class.api.php
index 3d61f6031d84ca49f62158bf254233ea86b078b1..28053565f4ac1846538e1546f5457c029b302cd7 100644
--- a/include/class.api.php
+++ b/include/class.api.php
@@ -317,8 +317,9 @@ class ApiXmlDataParser extends XmlDataParser {
         if (!is_array($current))
             return $current;
         foreach ($current as $key=>&$value) {
-            if ($key == "phone") {
-                $current["phone_ext"] = $value["ext"];  # PHP [like] point
+            if ($key == "phone" && is_array($value)) {
+                if (isset($value['ext']))
+                    $current["phone_ext"] = $value["ext"];  # PHP [like] point
                 $value = $value[":text"];
             } else if ($key == "alert") {
                 $value = (bool)$value;
@@ -339,6 +340,7 @@ class ApiXmlDataParser extends XmlDataParser {
                 $value = $this->fixup($value);
             }
         }
+        unset($value);
 
         return $current;
     }