diff --git a/areas/login/login.py b/areas/login/login.py
index d2be28a1a93cb70be85c04b2adef16d02a2c565c..2dc9f4a6a1c1c46c2bcbd7bf8c0b98f77ccbc649 100644
--- a/areas/login/login.py
+++ b/areas/login/login.py
@@ -45,6 +45,7 @@ from helpers import (
     AppRole
 )
 
+import ast
 # This is a circular import and should be solved differently
 #from app import db
 from database import db
@@ -235,7 +236,12 @@ def consent():
     # Get information about this consent request:
     # False positive: pylint: disable=no-member
     try:
-        consent_client = consent_request.client.get('client_id')
+        consent_client = consent_request.client
+
+        # Some versions of Hydra module return a string object and need to be decoded
+        if isinstance(consent_client, str):
+            consent_client = ast.literal_eval(consent_client)
+
         app_id = consent_client.get('client_id')
         # False positive: pylint: disable=no-member
         kratos_id = consent_request.subject