diff --git a/Yesod/Auth/OAuth2/Github.hs b/Yesod/Auth/OAuth2/Github.hs
--- a/Yesod/Auth/OAuth2/Github.hs
+++ b/Yesod/Auth/OAuth2/Github.hs
@@ -32,7 +32,7 @@
 
 data GithubUser = GithubUser
     { githubUserId    :: Int
-    , githubUserName  :: Text
+    , githubUserName  :: Maybe Text
     , githubUserLogin :: Text
     , githubUserAvatarUrl :: Text
     }
@@ -40,7 +40,7 @@
 instance FromJSON GithubUser where
     parseJSON (Object o) =
         GithubUser <$> o .: "id"
-                   <*> o .: "name"
+                   <*> o .:? "name"
                    <*> o .: "login"
                    <*> o .: "avatar_url"
 
@@ -113,9 +113,12 @@
 toCreds :: GithubUser -> [GithubUserEmail] -> AccessToken -> Creds m
 toCreds user userMail token = Creds "github"
     (T.pack $ show $ githubUserId user)
-    [ ("name", githubUserName user)
-    , ("email", githubUserEmail $ head userMail)
-    , ("login", githubUserLogin user)
-    , ("avatar_url", githubUserAvatarUrl user)
-    , ("access_token", decodeUtf8 $ accessToken token)
-    ]
+    cExtra
+    where
+        cExtra = [ ("email", githubUserEmail $ head userMail)
+                 , ("login", githubUserLogin user)
+                 , ("avatar_url", githubUserAvatarUrl user)
+                 , ("access_token", decodeUtf8 $ accessToken token)
+                 ] ++ (maybeName $ githubUserName user)
+        maybeName Nothing     = []
+        maybeName (Just name) = [("name", name)]
diff --git a/yesod-auth-oauth2.cabal b/yesod-auth-oauth2.cabal
--- a/yesod-auth-oauth2.cabal
+++ b/yesod-auth-oauth2.cabal
@@ -1,5 +1,5 @@
 name:            yesod-auth-oauth2
-version:         0.0.7
+version:         0.0.8
 license:         BSD3
 license-file:    LICENSE
 author:          Tom Streller
