diff --git a/app/controllers/redmine_oauth_controller.rb b/app/controllers/redmine_oauth_controller.rb
index dfb32cff0ce9cb46ab8a70bafe5df2357a76bead..e8fa8ba7d819787447a4bec3598af77e6340d6e8 100644
--- a/app/controllers/redmine_oauth_controller.rb
+++ b/app/controllers/redmine_oauth_controller.rb
@@ -38,7 +38,7 @@ class RedmineOauthController < AccountController
   def try_to_login info
    params[:back_url] = session[:back_url]
    session.delete(:back_url)
-   user = User.find_or_initialize_by_mail(info["email"])
+   user = User.joins(:email_addresses).where(:email_addresses => { :address => info["email"] }).first_or_create
     if user.new_record?
       # Self-registration off
       redirect_to(home_url) && return unless Setting.self_registration?