diff --git a/smash/web/migrations/0112_auto_20180604_1021.py b/smash/web/migrations/0112_auto_20180604_1021.py
new file mode 100644
index 0000000000000000000000000000000000000000..5d99ccd90a40da44049780bf713e00f2267f905c
--- /dev/null
+++ b/smash/web/migrations/0112_auto_20180604_1021.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2018-06-04 10:21
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('web', '0111_auto_20180601_1318'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='mailtemplate',
+            name='context',
+            field=models.CharField(choices=[(b'A', b'Appointment'), (b'S', b'Subject'), (b'V', b'Visit'), (b'C', b'Voucher')], max_length=1),
+        ),
+        migrations.AlterField(
+            model_name='mailtemplate',
+            name='language',
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Language'),
+        ),
+    ]
diff --git a/smash/web/models/mail_template.py b/smash/web/models/mail_template.py
index 729015253713c0724797cc82f43a1879e533ad68..2089ae1ecf52516051ec5f189ec78ae60576eca3 100644
--- a/smash/web/models/mail_template.py
+++ b/smash/web/models/mail_template.py
@@ -144,11 +144,16 @@ class MailTemplate(models.Model):
         active_templates = []
         disabled_templates = []
         for template in templates:
-            if template.language.name in languages_names:
+            if template.language is None:
+                if len(languages) == 0:
+                    active_templates.append(template)
+                else:
+                    disabled_templates.append(template)
+            elif template.language.name in languages_names:
                 active_templates.append(template)
             else:
                 disabled_templates.append(template)
-        active_templates.sort(key=lambda x: languages_names.index(x.language.name))
+        active_templates.sort(key=lambda x: languages_names.index(x.language.name) if x.language is not None else -1)
         return active_templates, disabled_templates
 
     def apply(self, instance, user, stream):
diff --git a/smash/web/templates/vouchers/add_edit.html b/smash/web/templates/vouchers/add_edit.html
index 0ce714969a78e8b542806fee49cf984a079e9ac3..c3aa458e57174ffe125fba60f612f69f1edf9ad0 100644
--- a/smash/web/templates/vouchers/add_edit.html
+++ b/smash/web/templates/vouchers/add_edit.html
@@ -90,6 +90,8 @@
                             </table>
                         </div>
 
+                        {% include 'includes/mail_templates_box.html' with instance_id=voucher.id %}
+
                     {% endif %}
                 </div>
             </div>
diff --git a/smash/web/tests/models/test_mail_template.py b/smash/web/tests/models/test_mail_template.py
index 27d5dcca3781292acee3934d4c4a89b0ca235b29..500b3a0709ffb1afdb53a0c13b15cdfa71343c96 100644
--- a/smash/web/tests/models/test_mail_template.py
+++ b/smash/web/tests/models/test_mail_template.py
@@ -115,6 +115,28 @@ class MailTemplateModelTests(TestCase):
                                       voucher.issue_date.strftime(DATE_FORMAT_SHORT)
                                       ])
 
+    def test_get_mail_templates_for_context_without_language(self):
+        template_name_french = "test_without_language"
+        MailTemplate(name=template_name_french, language=None,
+                     context=MAIL_TEMPLATE_CONTEXT_VOUCHER,
+                     template_file="voucher_test.docx").save()
+
+        templates = MailTemplate.get_mail_templates_for_context([], context=MAIL_TEMPLATE_CONTEXT_VOUCHER)
+        self.assertEquals(1, len(templates[0]))
+
+        templates = MailTemplate.get_mail_templates_for_context([self.english_language],
+                                                                context=MAIL_TEMPLATE_CONTEXT_VOUCHER)
+        self.assertEquals(0, len(templates[0]))
+
+    def test_get_mail_templates_for_context_without_language_2(self):
+        template_name_french = "test_without_language"
+        MailTemplate(name=template_name_french, language=self.english_language,
+                     context=MAIL_TEMPLATE_CONTEXT_VOUCHER,
+                     template_file="voucher_test.docx").save()
+
+        templates = MailTemplate.get_mail_templates_for_context([], context=MAIL_TEMPLATE_CONTEXT_VOUCHER)
+        self.assertEquals(0, len(templates[0]))
+
     def test_apply_visit(self):
         template_name_french = "test_fr"
         visit = create_visit()
diff --git a/smash/web/views/mails.py b/smash/web/views/mails.py
index 53b8557e8b0aa12887b9e8137cfa2d7e7054bfc7..8b7e8e897b162ba716acdc1b231bbdd247bebf45 100644
--- a/smash/web/views/mails.py
+++ b/smash/web/views/mails.py
@@ -49,6 +49,11 @@ class MailTemplatesCreateView(CreateView, WrappedView):
     success_url = reverse_lazy('web.views.mail_templates')
     success_message = "Template created"
 
+    def get_form(self, form_class=None):
+        form = super(MailTemplatesCreateView, self).get_form(form_class)
+        form.fields['language'].required = False
+        return form
+
 
 class MailTemplatesDeleteView(DeleteView, WrappedView):
     model = MailTemplate
diff --git a/smash/web/views/voucher.py b/smash/web/views/voucher.py
index 45b5a8f4f850aba0e19084b8ebefe3a2a44471dc..3124cc302b93ea9e7329ee427a2e27e5394a7184 100644
--- a/smash/web/views/voucher.py
+++ b/smash/web/views/voucher.py
@@ -10,7 +10,7 @@ from django_cron import CronJobBase, Schedule
 
 from web.views.notifications import get_today_midnight_date
 from web.forms import VoucherForm
-from web.models import Voucher, StudySubject
+from web.models import Voucher, StudySubject, MailTemplate
 from web.models.constants import GLOBAL_STUDY_ID, VOUCHER_STATUS_NEW, VOUCHER_STATUS_EXPIRED
 from . import WrappedView
 
@@ -67,6 +67,12 @@ class VoucherEditView(SuccessMessageMixin, UpdateView, WrappedView):
     def get_study_subject_id(self):
         return Voucher.objects.get(id=self.kwargs['pk']).study_subject.id
 
+    def get_context_data(self, *args, **kwargs):
+        context = super(VoucherEditView, self).get_context_data(*args, **kwargs)
+        context['mail_templates']= MailTemplate.get_voucher_mail_templates([])
+        print context
+        return context
+
 
 class ExpireVouchersJob(CronJobBase):
     RUN_EVERY_MINUTES = 120