diff --git a/lib/api/helpers/authentication.rb b/lib/api/helpers/authentication.rb
index f11c9725f3f56183b4a40889f53ee4ac89434ca2..e1d7ac83ff6f87df2aac0eab7e712eafc66647f7 100644
--- a/lib/api/helpers/authentication.rb
+++ b/lib/api/helpers/authentication.rb
@@ -6,6 +6,7 @@ module API
       SUDO_HEADER ="HTTP_SUDO"
       SUDO_PARAM = :sudo
       PERSONAL_ACCESS_TOKEN_PARAM = :personal_access_token
+      PERSONAL_ACCESS_TOKEN_HEADER = "HTTP_PERSONAL_ACCESS_TOKEN"
 
       def find_user_by_private_token
         private_token = (params[PRIVATE_TOKEN_PARAM] || env[PRIVATE_TOKEN_HEADER]).to_s
@@ -13,10 +14,9 @@ module API
       end
 
       def find_user_by_personal_access_token
-        personal_access_token = PersonalAccessToken.find_by_token(params[PERSONAL_ACCESS_TOKEN_PARAM])
-        if personal_access_token
-          personal_access_token.user
-        end
+        personal_access_token_string = (params[PERSONAL_ACCESS_TOKEN_PARAM] || env[PERSONAL_ACCESS_TOKEN_HEADER]).to_s
+        personal_access_token = PersonalAccessToken.find_by_token(personal_access_token_string)
+        personal_access_token.user if personal_access_token
       end
 
       def current_user