diff --git a/app/jobs/regular/automatic_group_membership.rb b/app/jobs/regular/automatic_group_membership.rb
index d49d5b379..0b4488371 100644
--- a/app/jobs/regular/automatic_group_membership.rb
+++ b/app/jobs/regular/automatic_group_membership.rb
@@ -13,7 +13,7 @@ module Jobs
 
       domains = group.automatic_membership_email_domains.gsub('.', '\.')
 
-      User.where("email ~* '@(#{domains})'").find_each do |user|
+      User.where("email ~* '@(#{domains})$'").find_each do |user|
         group.add(user) rescue ActiveRecord::RecordNotUnique
       end
     end
diff --git a/app/models/user.rb b/app/models/user.rb
index 64e9749be..b90c5544d 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -721,7 +721,7 @@ class User < ActiveRecord::Base
          .where("LENGTH(COALESCE(automatic_membership_email_domains, '')) > 0")
          .each do |group|
       domains = group.automatic_membership_email_domains.gsub('.', '\.')
-      if self.email =~ Regexp.new("@(#{domains})", true)
+      if self.email =~ Regexp.new("@(#{domains})$", true)
         group.add(self) rescue ActiveRecord::RecordNotUnique
       end
     end