diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java
index 4c4d911fbe721d8cc28c28e2d0fbe764f1ec19bc..60917bce92952e21ef00365c4b1d7404de9be309 100644
--- a/src/main/java/org/hbp/mip/MIPApplication.java
+++ b/src/main/java/org/hbp/mip/MIPApplication.java
@@ -121,22 +121,14 @@ public static void main(String[] args) {
      * - restart DB and backend (no session or anything like that)
      * - log in using the front end
      * - check you have no 500 error in the network logs.
-     * @param principal
      * @return
      */
-     public synchronized User getUser(Principal principal) {
+     public synchronized User getUser() {
          Session session = HibernateUtil.getSessionFactory().getCurrentSession();
-         User user = null;
+         User user = new User(getUserInfos());
          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.merge(user);
              session.getTransaction().commit();
          } catch (Exception e)
          {
@@ -178,7 +170,7 @@ public static void main(String[] args) {
         ObjectMapper mapper = new ObjectMapper();
 
         try {
-            String userJSON = mapper.writeValueAsString(getUser(principal));
+            String userJSON = mapper.writeValueAsString(getUser());
             Cookie cookie = new Cookie("user", URLEncoder.encode(userJSON, "UTF-8"));
             cookie.setPath("/");
             response.addCookie(cookie);
diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
index e280d1732a7af3cb13fddf50ddf3719063e00feb..dca595e5c7173738d463387af013fd437b48d86a 100644
--- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
@@ -17,7 +17,6 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
-import java.security.Principal;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -38,12 +37,11 @@ public class ArticlesApi {
     public ResponseEntity<List<Article>> getArticles(
             @ApiParam(value = "Only ask own articles") @RequestParam(value = "own", required = false) Boolean own,
             @ApiParam(value = "Only ask results matching status", allowableValues = "{values=[draft, published, closed]}") @RequestParam(value = "status", required = false) String status,
-            @ApiParam(value = "Only ask articles from own team") @RequestParam(value = "team", required = false) Boolean team,
-            Principal principal
+            @ApiParam(value = "Only ask articles from own team") @RequestParam(value = "team", required = false) Boolean team
     ) {
 
         // Get current user
-        User user = mipApplication.getUser(principal);
+        User user = mipApplication.getUser();
 
         // Prepare HQL query using Article and User tables
         String queryString = "SELECT a FROM Article a, User u where a.createdBy=u.id";
@@ -104,12 +102,11 @@ public class ArticlesApi {
     @ApiResponses(value = { @ApiResponse(code = 200, message = "Article created") })
     @RequestMapping(method = RequestMethod.POST)
     public ResponseEntity<Void> addAnArticle(
-            @RequestBody @ApiParam(value = "Article to create", required = true) Article article,
-            Principal principal
+            @RequestBody @ApiParam(value = "Article to create", required = true) Article article
     ) {
 
         // Get current user
-        User user = mipApplication.getUser(principal);
+        User user = mipApplication.getUser();
 
         // Set up article to save
         article.setCreatedAt(new Date());
@@ -170,12 +167,11 @@ public class ArticlesApi {
     @RequestMapping(value = "/{slug}", method = RequestMethod.PUT)
     public ResponseEntity<Void> updateAnArticle(
             @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug,
-            @RequestBody @ApiParam(value = "Article to update", required = true) Article article,
-            Principal principal
+            @RequestBody @ApiParam(value = "Article to update", required = true) Article article
     ) {
 
         // Get current user
-        User user = mipApplication.getUser(principal);
+        User user = mipApplication.getUser();
 
         // Query DB
         Session session = HibernateUtil.getSessionFactory().getCurrentSession();
diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
index 2d9c99dd8df7d7a2bfbcf4b095aaecc3be84f983..5c20bb2558e3ca5e30cd71b7324d3842f1c440e5 100644
--- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
@@ -17,7 +17,6 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
-import java.security.Principal;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -42,12 +41,11 @@ public class ModelsApi {
     public ResponseEntity<List<Model>> getModels(
             @ApiParam(value = "Max number of results") @RequestParam(value = "limit", required = false) Integer limit,
             @ApiParam(value = "Only ask own models") @RequestParam(value = "own", required = false) Boolean own,
-            @ApiParam(value = "Only ask models from own team") @RequestParam(value = "team", required = false) Boolean team,
-            Principal principal
+            @ApiParam(value = "Only ask models from own team") @RequestParam(value = "team", required = false) Boolean team
     )  {
 
         // Get current user
-        User user = mipApplication.getUser(principal);
+        User user = mipApplication.getUser();
 
         // Prepare HQL query from Model and User tables
         String queryString = "select m from Model m, User u where m.createdBy=u.id";
@@ -102,12 +100,11 @@ public class ModelsApi {
     @ApiResponses(value = { @ApiResponse(code = 200, message = "Model created") })
     @RequestMapping(method = RequestMethod.POST)
     public ResponseEntity<Model> addAModel(
-            @RequestBody @ApiParam(value = "Model to create", required = true) Model model,
-            Principal principal
+            @RequestBody @ApiParam(value = "Model to create", required = true) Model model
     )  {
 
         // Get current user
-        User user = mipApplication.getUser(principal);
+        User user = mipApplication.getUser();
 
         // Set up model
         model.setSlug(model.getConfig().getTitle().get("text").toLowerCase());
@@ -217,12 +214,11 @@ public class ModelsApi {
     @RequestMapping(value = "/{slug}", method = RequestMethod.PUT)
     public ResponseEntity<Void> updateAModel(
             @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug,
-            @RequestBody @ApiParam(value = "Model to update", required = true) Model model,
-            Principal principal
+            @RequestBody @ApiParam(value = "Model to update", required = true) Model model
     )  {
 
         // Get current user
-        User user = mipApplication.getUser(principal);
+        User user = mipApplication.getUser();
 
         // Query DB
         Session session = HibernateUtil.getSessionFactory().getCurrentSession();
@@ -246,11 +242,10 @@ public class ModelsApi {
     @RequestMapping(value = "/{slug}/copies", method = RequestMethod.POST)
     public ResponseEntity<Model> copyAModel(
             @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug,
-            @RequestBody @ApiParam(value = "Model to update", required = true) Model model,
-            Principal principal
+            @RequestBody @ApiParam(value = "Model to update", required = true) Model model
     )  {
         // Get current user
-        User user = mipApplication.getUser(principal);
+        User user = mipApplication.getUser();
 
         // Set slug
         String originalSlug = model.getSlug();