diff --git a/gajim/common/logger.py b/gajim/common/logger.py
index 7f6f3acd477a5c1c57ef1af8ab88fc085d6e8110..ca8a0cf48628f9a45d03491023dbf87925f5fb00 100644
--- a/gajim/common/logger.py
+++ b/gajim/common/logger.py
@@ -39,6 +39,7 @@
 from gi.repository import GLib
 
 from nbxmpp.protocol import Iq
+from nbxmpp.protocol import JID
 from nbxmpp.structs import DiscoInfo
 from nbxmpp.structs import CommonError
 from nbxmpp.modules.discovery import parse_disco_info
@@ -163,6 +164,16 @@ def _adapt_common_error(common_error):
 def _convert_marker(marker):
     return 'received' if marker == 0 else 'displayed'
 
+def _jid_adapter(jid):
+    return str(jid)
+
+def _jid_converter(jid):
+    return JID(jid.decode())
+
+
+sqlite.register_converter('jid', _jid_converter)
+sqlite.register_adapter(JID, _jid_adapter)
+
 sqlite.register_converter('disco_info', _convert_disco_info)
 sqlite.register_adapter(DiscoInfo, _adapt_disco_info)