diff --git a/config/application.yml b/config/application.yml
index c70467fcc6e7f032ec8bcb7ade6e39d8c4039a02..da656fbf35652e4ed0c629b933f308e21c9a22ec 100644
--- a/config/application.yml
+++ b/config/application.yml
@@ -20,7 +20,7 @@ hbp:
     # use-current-uri: false  # For production server
     # pre-established-redirect-uri: https://mip.humanbrainproject.eu/services/login/hbp  # For production server
   resource:
-    userInfoUri: https://services.humanbrainproject.eu/oidc/v0/api/user/me
+    userInfoUri: https://services.humanbrainproject.eu/oidc/userinfo
 
 logging:
   level:
diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java
index 5c2e951fa8e9641554b52a88bdc928199e98a0fd..4c4d911fbe721d8cc28c28e2d0fbe764f1ec19bc 100644
--- a/src/main/java/org/hbp/mip/MIPApplication.java
+++ b/src/main/java/org/hbp/mip/MIPApplication.java
@@ -126,16 +126,26 @@ public static void main(String[] args) {
      */
      public synchronized User getUser(Principal principal) {
          Session session = HibernateUtil.getSessionFactory().getCurrentSession();
-         session.beginTransaction();
-         User user = (User) session
-            .createQuery("from User where username= :username")
-            .setString("username", principal.getName())
-            .uniqueResult();
-         if (user == null) {
-            user = new User(getUserInfos());
-            session.save(user);
-        }
-         session.getTransaction().commit();
+         User user = null;
+         try {
+             session.beginTransaction();
+             user = (User) session
+                     .createQuery("from User where username= :username")
+                     .setString("username", principal.getName())
+                     .uniqueResult();
+             if (user == null) {
+                 user = new User(getUserInfos());
+                 session.save(user);
+             }
+             session.getTransaction().commit();
+         } catch (Exception e)
+         {
+             if(session.getTransaction() != null)
+             {
+                 session.getTransaction().rollback();
+             }
+         }
+
         return user;
     }
 
diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
index cbfddbb67f951e5a73728b884d2e6f18ee0b47e9..e280d1732a7af3cb13fddf50ddf3719063e00feb 100644
--- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
@@ -93,7 +93,8 @@ public class ArticlesApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<List<Article>>(HttpStatus.OK).ok(articles);
     }
@@ -129,7 +130,8 @@ public class ArticlesApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<Void>(HttpStatus.OK);
     }
@@ -156,7 +158,8 @@ public class ArticlesApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<Article>(HttpStatus.OK).ok(article);
     }
@@ -185,7 +188,8 @@ public class ArticlesApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<Void>(HttpStatus.OK);
     }
diff --git a/src/main/java/org/hbp/mip/controllers/DatasetsApi.java b/src/main/java/org/hbp/mip/controllers/DatasetsApi.java
index 1d03600cf7969d219da68cf2b4e91cb0a463b687..9a70a4829a6735858b48b5003d067ced44ffe7fc 100644
--- a/src/main/java/org/hbp/mip/controllers/DatasetsApi.java
+++ b/src/main/java/org/hbp/mip/controllers/DatasetsApi.java
@@ -45,7 +45,8 @@ public class DatasetsApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<Dataset>(HttpStatus.OK).ok(dataset);
     }
diff --git a/src/main/java/org/hbp/mip/controllers/GroupsApi.java b/src/main/java/org/hbp/mip/controllers/GroupsApi.java
index 59681d143ded7134c01862d5af1cbc61442143d3..11e2f817135cff483321b9dd16cb3836f50e53d4 100644
--- a/src/main/java/org/hbp/mip/controllers/GroupsApi.java
+++ b/src/main/java/org/hbp/mip/controllers/GroupsApi.java
@@ -43,7 +43,8 @@ public class GroupsApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<Group>(HttpStatus.OK).ok(group);
     }
diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
index 0bbe660d12b82c1edda94e20983cfc2b22ab3c1d..2d9c99dd8df7d7a2bfbcf4b095aaecc3be84f983 100644
--- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
@@ -127,7 +127,8 @@ public class ModelsApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<Model>(HttpStatus.OK).ok(model);
     }
@@ -203,7 +204,8 @@ public class ModelsApi {
                 if(session.getTransaction() != null)
                 {
                     session.getTransaction().rollback();
-                }            }
+                }
+            }
         }
 
         return new ResponseEntity<Model>(HttpStatus.OK).ok(model);
@@ -233,7 +235,8 @@ public class ModelsApi {
             if(session.getTransaction() != null)
             {
                 session.getTransaction().rollback();
-            }        }
+            }
+        }
 
         return new ResponseEntity<Void>(HttpStatus.OK);
     }
diff --git a/src/main/java/org/hbp/mip/model/User.java b/src/main/java/org/hbp/mip/model/User.java
index e2f549d04375a1abd574dfd2d7ddfdf6c870fa14..93cf4f98104a945b14d8689c182f0bbf12aec16e 100644
--- a/src/main/java/org/hbp/mip/model/User.java
+++ b/src/main/java/org/hbp/mip/model/User.java
@@ -47,34 +47,35 @@ public class User {
     }
 
     public User(String userInfo) {
+
         Pattern p;
         Matcher m;
 
-        p = Pattern.compile("username=([\\w ]+)");
+        p = Pattern.compile("preferred_username=([\\w ]+)");
         m = p.matcher(userInfo);
         if (m.find()) {
             this.username = m.group(1);
         }
 
-        p = Pattern.compile("displayName=([\\w ]+)");
+        p = Pattern.compile("name=([\\w ]+)");
         m = p.matcher(userInfo);
         if (m.find()) {
             this.fullname = m.group(1);
         }
 
-        p = Pattern.compile("givenName=([\\w ]+)");
+        p = Pattern.compile("given_name=([\\w ]+)");
         m = p.matcher(userInfo);
         if (m.find()) {
             this.firstname = m.group(1);
         }
 
-        p = Pattern.compile("familyName=([\\w ]+)");
+        p = Pattern.compile("family_name=([\\w ]+)");
         m = p.matcher(userInfo);
         if (m.find()) {
             this.lastname = m.group(1);
         }
 
-        p = Pattern.compile("value=([\\w.]+@[\\w.]+)");
+        p = Pattern.compile("email=([\\w.]+@[\\w.]+)");
         m = p.matcher(userInfo);
         if (m.find()) {
             this.email = m.group(1);
@@ -96,10 +97,10 @@ public class User {
             this.team = m.group(1);
         }
 
-        p = Pattern.compile("subprojects=([A-Za-z0-9\\[\\] ]+)");
+        p = Pattern.compile("picture=([\\w.:/ ]+)");
         m = p.matcher(userInfo);
         if (m.find()) {
-            this.team += m.group(1);
+            this.picture = m.group(1);
         }
 
         if (this.picture == null || this.picture.isEmpty()) {
diff --git a/src/main/resources/spring/application-context.xml b/src/main/resources/spring/application-context.xml
index 7eef8445fce729c7e75e97d930fe7e139c43b0d5..9d283991f37a1e72277f9b85d8905b9f45725da8 100644
--- a/src/main/resources/spring/application-context.xml
+++ b/src/main/resources/spring/application-context.xml
@@ -27,7 +27,7 @@
 		<property name="tokenServices">
 			<bean class="org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoTokenServices">
 				<constructor-arg name="clientId" value="996f97c5-a3ca-460e-b18b-00df3e2be89a" />
-				<constructor-arg name="userInfoEndpointUrl" value="https://services.humanbrainproject.eu/oidc/v0/api/user/me" />
+				<constructor-arg name="userInfoEndpointUrl" value="https://services.humanbrainproject.eu/oidc/userinfo" />
 			</bean>
 		</property>
 	</bean>