diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py
index a654a7b194b126c81244ad7388123faf3bdc4f2f..168bf64703c4e18ef56ff8d1caee76262ed2a479 100644
--- a/addons/mail/mail_group.py
+++ b/addons/mail/mail_group.py
@@ -221,10 +221,12 @@ class mail_group(osv.Model):
     def message_get_email_values(self, cr, uid, id, notif_mail=None, context=None):
         res = super(mail_group, self).message_get_email_values(cr, uid, id, notif_mail=notif_mail, context=context)
         group = self.browse(cr, uid, id, context=context)
-        try:
-            headers = eval(res.get('headers', '{}'))
-        except Exception:
-            headers = {}
+        headers = {}
+        if res.get('headers'):
+            try:
+                headers.update(eval(res['headers']))
+            except Exception:
+                pass
         headers['Precedence'] = 'list'
         # avoid out-of-office replies from MS Exchange
         # http://blogs.technet.com/b/exchange/archive/2006/10/06/3395024.aspx
@@ -236,5 +238,5 @@ class mail_group(osv.Model):
             # X-Forge-To: will replace To: after SMTP envelope is determined by ir.mail.server
             list_to = '"%s" <%s@%s>' % (group.name, group.alias_name, group.alias_domain)
             headers['X-Forge-To'] = list_to
-        res['headers'] = '%s' % headers
+        res['headers'] = repr(headers)
         return res
diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py
index 8d2c37c8baadd0e86f67a639cbff81cb095618cc..602810f7423f2ad1f72b972690bebf7833266613 100644
--- a/addons/mail/mail_mail.py
+++ b/addons/mail/mail_mail.py
@@ -67,7 +67,6 @@ class mail_mail(osv.Model):
 
     _defaults = {
         'state': 'outgoing',
-        'headers': '{}',
     }
 
     def default_get(self, cr, uid, fields, context=None):
diff --git a/addons/website_mail_group/models/mail_group.py b/addons/website_mail_group/models/mail_group.py
index 00bdcdf4258f059529315ca374b8f5c155a4a71e..e45dff09af39f91f928579113b76e3b4c10c18bf 100644
--- a/addons/website_mail_group/models/mail_group.py
+++ b/addons/website_mail_group/models/mail_group.py
@@ -13,16 +13,18 @@ class MailGroup(osv.Model):
         res = super(MailGroup, self).message_get_email_values(cr, uid, id, notif_mail=notif_mail, context=context)
         group = self.browse(cr, uid, id, context=context)
         base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url')
-        try:
-            headers = eval(res.get('headers', '{}'))
-        except Exception:
-            headers = {}
+        headers = {}
+        if res.get('headers'):
+            try:
+                headers = eval(res['headers'])
+            except Exception:
+                pass
         headers.update({
             'List-Archive': '<%s/groups/%s>' % (base_url, slug(group)),
             'List-Subscribe': '<%s/groups>' % (base_url),
             'List-Unsubscribe': '<%s/groups?unsubscribe>' % (base_url,),
         })
-        res['headers'] = '%s' % headers
+        res['headers'] = repr(headers)
         return res