diff --git a/addons/im_chat/im_chat.py b/addons/im_chat/im_chat.py
index def76df77d7313e2e991e089381ff0063fa2efd2..4be9dc89334005aca053b10cdc1a65d7e5aa99fd 100644
--- a/addons/im_chat/im_chat.py
+++ b/addons/im_chat/im_chat.py
@@ -57,6 +57,7 @@ class im_chat_session(osv.Model):
         sids = self.search(cr, uid, [('uuid', '=', uuid)], context=context, limit=1)
         for session in self.browse(cr, uid, sids, context=context):
                 return user_id and user_id in [u.id for u in session.user_ids]
+        return False
 
     def users_infos(self, cr, uid, ids, context=None):
         """ get the user infos for all the user in the session """
@@ -419,7 +420,7 @@ class Controller(openerp.addons.bus.bus.Controller):
 
     @openerp.http.route(['/im_chat/history'], type="json", auth="none")
     def history(self, uuid, last_id=False, limit=20):
-        registry, cr, uid, context = request.registry, request.cr, request.session.uid, request.context
-        return registry["im_chat.message"].get_messages(cr, openerp.SUPERUSER_ID, uuid, last_id, limit, context=context)
+        registry, cr, uid, context = request.registry, request.cr, request.session.uid or openerp.SUPERUSER_ID, request.context
+        return registry["im_chat.message"].get_messages(cr, uid, uuid, last_id, limit, context=context)
 
 # vim:et:
diff --git a/addons/im_livechat/im_livechat.py b/addons/im_livechat/im_livechat.py
index a8beabcd842e6625d30586c693dadd38fda093b3..caf26eb7745b38824b5faf840ec345af0800962c 100644
--- a/addons/im_livechat/im_livechat.py
+++ b/addons/im_livechat/im_livechat.py
@@ -202,6 +202,7 @@ class im_chat_session(osv.Model):
                 return True
             else:
                 return super(im_chat_session, self).is_in_session(cr, uid, uuid, user_id, context=context)
+        return False
 
     def users_infos(self, cr, uid, ids, context=None):
         """ add the anonymous user in the user of the session """