diff --git a/cmd/example-app/main.go b/cmd/example-app/main.go
index a188dcccb05bca3f8b306714e9c24e7df50c0c88..ffa21c29ecb7a5dfcc1343850af3952690b1a048 100644
--- a/cmd/example-app/main.go
+++ b/cmd/example-app/main.go
@@ -241,12 +241,15 @@ func (a *app) handleLogin(w http.ResponseWriter, r *http.Request) {
 
 	authCodeURL := ""
 	scopes = append(scopes, "openid", "profile", "email")
-	if a.offlineAsScope {
+	if r.FormValue("offline_acecss") != "yes" {
+		authCodeURL = a.oauth2Config(scopes).AuthCodeURL(exampleAppState)
+	} else if a.offlineAsScope {
 		scopes = append(scopes, "offline_access")
 		authCodeURL = a.oauth2Config(scopes).AuthCodeURL(exampleAppState)
 	} else {
 		authCodeURL = a.oauth2Config(scopes).AuthCodeURL(exampleAppState, oauth2.AccessTypeOffline)
 	}
+
 	http.Redirect(w, r, authCodeURL, http.StatusSeeOther)
 }
 
diff --git a/cmd/example-app/templates.go b/cmd/example-app/templates.go
index 661425401e79626a3bd4e15903e9ddff5ca3f7f5..c0f9dfbd84d262990a3d05514b432e1039618588 100644
--- a/cmd/example-app/templates.go
+++ b/cmd/example-app/templates.go
@@ -14,6 +14,9 @@ var indexTmpl = template.Must(template.New("index.html").Parse(`<html>
        </p>
        <p>
          Extra scopes:<input type="text" name="extra_scopes" placeholder="list of scopes">
+       </p>
+	   <p>
+	     Request offline access:<input type="checkbox" name="offline_access" value="yes" checked>
        </p>
        <input type="submit" value="Login">
     </form>