diff --git a/matrix-util.js b/matrix-util.js
index 95cb4ce..bf3e229 100644
--- a/matrix-util.js
+++ b/matrix-util.js
@@ -41,18 +41,25 @@ MatrixUtil.prototype.updateBuddyState = function(jid, state, statusText, resourc
         matrix.buddies[jid] = {resources: {}};
     }
 
-    matrix.buddies[jid]['resources'][resource] = {
-        state: state,
-        statusText: statusText,
-        lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss')
+    try {
+        matrix.buddies[jid]['resources'][resource] = {
+            state: state,
+            statusText: statusText,
+            lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss')
+        }
     }
+    catch(e) {
+        logger.warn('MatrixUtil: Exception on update resources on matrix', {jid: jid, state: state, statusText: statusText, resource: resource});
+    }
+
+
 
     if (resource != 'undefined' && matrix.buddies[jid].resources['undefined']) {
         try {
             delete matrix.buddies[jid].resources['undefined'];
         }
         catch(e) {};
-    }
+        }
 }
 
 MatrixUtil.prototype.isAFriend = function(jid) {
@@ -110,7 +117,7 @@ MatrixUtil.prototype.updateLastIncoming = function(sender, msg) {
 
 MatrixUtil.prototype.updateLastOutgoing = function(destination, msg) {
     var matrix = this.matrix;
-    
+
     if (!matrix) {
         return;
     }