diff --git a/scipost/utils.py b/scipost/utils.py
index 26be73d5fe138e67993ab031be34f0e4acfcd062..aa384729d8f7faee65f5f2a34d06d64aa64817a1 100644
--- a/scipost/utils.py
+++ b/scipost/utils.py
@@ -31,6 +31,13 @@ class Utils(object):
         else:
             return False
 
+    @classmethod
+    def email_already_taken(cls):
+        if User.objects.filter(email=cls.form.cleaned_data['email']).exists():
+            return True
+        else:
+            return False
+
     @classmethod
     def create_and_save_contributor(cls):
         user = User.objects.create_user (
diff --git a/scipost/views.py b/scipost/views.py
index b690849f6b664ba4f5489b65577028594934064f..fdd75006899d1932714c490968385a914f233e4e 100644
--- a/scipost/views.py
+++ b/scipost/views.py
@@ -135,6 +135,8 @@ def register(request):
                 return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'Your passwords must match'})
             if Utils.username_already_taken():
                 return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'This username is already in use'})
+            if Utils.email_already_taken():
+                return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'This email address is already in use'})
             Utils.create_and_save_contributor()
             Utils.send_registration_email()
             return HttpResponseRedirect('thanks_for_registering')