diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthConfig.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthConfig.java
index 1ddfe03..5415ca6 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthConfig.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthConfig.java
@@ -31,6 +31,7 @@
   public static final String OAUTH_FINAL = "/oauth";
   public static final String LOGIN_OAUTH_ACCESS_TOKEN =
       "/login/oauth/access_token";
+  public static final String OAUTH_LOGIN = "/login";
 
   public final String gitHubUrl;
   public final String gitHubClientId;
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java
index ce2cfd5..50cc750 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java
@@ -29,10 +29,8 @@
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Strings;
-import com.google.gerrit.httpd.WebSession;
 import com.google.gson.Gson;
 import com.google.inject.Inject;
-import com.google.inject.Provider;
 
 public class OAuthFilter implements Filter {
   private static final org.slf4j.Logger log = LoggerFactory
@@ -87,7 +85,11 @@
               "Login failed");
         }
       } else {
+        if(oauth.isOAuthLogin(httpRequest)) {
         oauth.loginPhase1(httpRequest, httpResponse);
+        } else {
+          chain.doFilter(request, response);
+        }
       }
       return;
     } else {
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java
index 92562e6..82af2dd 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java
@@ -18,14 +18,12 @@
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.protocol.HTTP;
-import org.kohsuke.github.GHMyself;
 import org.kohsuke.github.GitHub;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.inject.Inject;
-import com.google.inject.Provider;
 import com.google.inject.Singleton;
 
 @Singleton
@@ -60,6 +58,10 @@
     return request.getRequestURI().endsWith(OAuthConfig.OAUTH_FINAL);
   }
   
+  public boolean isOAuthLogin(HttpServletRequest request) {
+    return request.getRequestURI().endsWith(OAuthConfig.OAUTH_LOGIN);
+  }
+  
   public GitHubLogin loginPhase2(HttpServletRequest request,
       HttpServletResponse response) throws IOException {
 
