diff --git a/jams-react-client/src/auth.js b/jams-react-client/src/auth.js
index ac138a04d9b197a3d2b279e4532394e187d30ab1..eae75c7b7b4e97929ba8508d4dd26c40c739fed4 100644
--- a/jams-react-client/src/auth.js
+++ b/jams-react-client/src/auth.js
@@ -130,14 +130,15 @@ class Auth {
             }
             cb()
         }).catch((error) => {
-            console.log("Error during API request on checkServerIsInstalled: " + error);
+            if (error.response.status === 401) {
+                this.authenticated = false;
+            }
         });
     }
 
     checkLastKnownStep(cb) {
         if(this.installed){
             this.authenticated = true
-            console.log("Auth: Server is already installed")
             cb()
         }else{
             axios(configApiCall(api_path_get_install_lastKnownStep, 'GET', null, null)).then((response) => {
@@ -147,10 +148,6 @@ class Auth {
             }).catch((error) => {
                 if(error.response.status === 401){
                     this.authenticated = false;
-                    console.log("Error during API request on checkLastKnowStep not authenticated!");
-                }
-                else{
-                    console.log("Error during API request on checkLastKnowStep: " + error);
                 }
                 cb()
             })
@@ -169,7 +166,6 @@ class Auth {
                 this.authenticated = true
                 cb()
             }).catch((error) => {
-                console.log("Error during API request on checkLastKnownStep: " + error);
                 cb()
             })
         }
@@ -188,7 +184,6 @@ class Auth {
                 this.authenticated = true
                 cb()
             }).catch((error) => {
-                console.log("Error during API request on checkLastKnownStep: " + error);
                 cb()
             })
         }
diff --git a/jams-react-client/src/components/Devices/Devices.js b/jams-react-client/src/components/Devices/Devices.js
index 411af2151ebe746a2383fe55c7ee3fb81aa9e7a9..9f05363399317e79b188c669897d49e91cc1a654 100755
--- a/jams-react-client/src/components/Devices/Devices.js
+++ b/jams-react-client/src/components/Devices/Devices.js
@@ -1,4 +1,6 @@
 import React, {useEffect} from "react";
+import { useHistory } from "react-router-dom";
+
 import classnames from "classnames";
 import {Formik, Field} from "formik";
 // @material-ui/core components
@@ -38,31 +40,48 @@ const useStyles = makeStyles(styles);
 
 export default function Devices(props) {
     const classes = useStyles();
+    const history = useHistory();
+
     const [devices, setDevices] = React.useState([])
     const [selectedDevice, setSelectedDevice]= React.useState({});
     const [displayName, setDisplayName] = React.useState("")
     const [openEdit, setOpenEdit] = React.useState(false);
     const [openRevoke, setOpenRevoke] = React.useState(false);
     const  userData = {
-        "username":props.username
+        "username": props.username
     };
 
     useEffect(() => {
         auth.checkDirectoryType(() => {
             if(auth.hasAdminScope()){
                 axios(configApiCall(api_path_get_admin_devices, 'GET', userData, null)).then((response)=>{
-                    var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim());
-                    setDevices(resultSet)
+                    if(response.data.length == 0) {
+                        setDevices([]);
+                    }else{
+                        var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim());
+                        setDevices(resultSet)
+                    }
                 }).catch((error) =>{
                     console.log(error);
+                    if (error.response.status === 401) {
+                        auth.authenticated = false;
+                        history.push("/signin");
+                    }
                 });
             }
             else{
                 axios(configApiCall(api_path_get_auth_devices, 'GET', null, null)).then((response)=>{
-                    var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim());
-                    setDevices(resultSet)
+                    if(response.data.length == 0) {
+                        setDevices([]);
+                    }else{
+                        var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim());
+                        setDevices(resultSet)
+                    }
                 }).catch((error) =>{
-                    console.log(error);
+                    if (error.response.status === 401) {
+                        auth.authenticated = false;
+                        history.push("/signin");
+                    }
                 });
             }
         })
diff --git a/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js b/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js
index d5fb210c9fff1aca4a6f24ce069fac92d3800ee5..3eabab55d1a13a2624711eb3d0583bdd70cb4877 100644
--- a/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js
+++ b/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js
@@ -174,7 +174,6 @@ export default function EditBlueprintPermissions(props) {
         setUsers(profiles);
       })
       .catch((error) => {
-        console.log(error);
         setUsers([]);
         if (error.response.status === 401) {
           auth.authenticated = false;
diff --git a/jams-react-client/src/views/Blueprints/Blueprints.js b/jams-react-client/src/views/Blueprints/Blueprints.js
index 2bdddb4fadae7b5f3baeea8e5edf4a67ced86935..dc9ffcd0db56babcbdb5b914a9710a841807e54d 100644
--- a/jams-react-client/src/views/Blueprints/Blueprints.js
+++ b/jams-react-client/src/views/Blueprints/Blueprints.js
@@ -127,7 +127,6 @@ export default function Blueprints() {
       })
       .catch((error) => {
         setBlueprints([]);
-        console.log(error);
         if (error.response.status === 401) {
           auth.authenticated = false;
           history.push("/");
@@ -159,7 +158,6 @@ export default function Blueprints() {
         setBlueprintNameExits(true);
       })
       .catch((error) => {
-        console.log(error);
         setDisableCreate(false);
         setBlueprintNameExits(false);
       });
diff --git a/jams-react-client/src/views/Contacts/Contacts.js b/jams-react-client/src/views/Contacts/Contacts.js
index 8124eaa7408958be004d0405be2a24b4777c6133..bf2ee4e8850e0378b93de74c22ecf1508d82ad57 100644
--- a/jams-react-client/src/views/Contacts/Contacts.js
+++ b/jams-react-client/src/views/Contacts/Contacts.js
@@ -117,11 +117,10 @@ export default function Users(props) {
         setUsers(profiles);
       })
       .catch((error) => {
-        console.log(error);
         setUsers([]);
         if (error.response.status === 401) {
           auth.authenticated = false;
-          history.push("/");
+          history.push("/signin");
         }else if(error.response.status === 403){
           setAllowedToAdd(false);
         }
@@ -174,7 +173,6 @@ export default function Users(props) {
           setLoading(false);
         })
         .catch((error) => {
-          console.log(error);
           if (error.response.status === 401) {
             auth.authenticated = false;
             history.push("/");
@@ -217,10 +215,9 @@ export default function Users(props) {
           setLoading(false);
         })
         .catch((error) => {
-          console.log(error);
           if (error.response.status === 401) {
             auth.authenticated = false;
-            history.push("/");
+            history.push("/signin");
           }
         });
     }
diff --git a/jams-react-client/src/views/Groups/EditGroup.js b/jams-react-client/src/views/Groups/EditGroup.js
index 5953ae3ad395ccd5c610d79ab260ea7f689d36a5..a957259a0f4eaf24ab622949b2de07f0bcbe3b00 100644
--- a/jams-react-client/src/views/Groups/EditGroup.js
+++ b/jams-react-client/src/views/Groups/EditGroup.js
@@ -158,10 +158,9 @@ export default function EditGroup(props) {
                 });
             })
             .catch((error) => {
-              console.log(error);
               if (error.response.status === 401) {
                 auth.authenticated = false;
-                history.push("/");
+                history.push("/signin");
               }
               if (error.response.status === 500) {
                 setBlueprints([]);
@@ -185,8 +184,10 @@ export default function EditGroup(props) {
                 if (error.response.status === 404) {
                     setGroupMembers([]);
                 }
-                else
-                    console.log(error);
+                if (error.response.status === 401) {
+                    auth.authenticated = false;
+                    history.push("/signin");
+                }
             })
 
 
@@ -255,11 +256,10 @@ export default function EditGroup(props) {
             setUsers(profiles);
           })
           .catch((error) => {
-            console.log(error);
             setUsers([]);
             if (error.response.status === 401) {
               auth.authenticated = false;
-              history.push("/");
+              history.push("/signin");
             }
           });
       };
@@ -336,7 +336,6 @@ export default function EditGroup(props) {
             });
           })
           .catch((error) => {
-            console.log(error);
             setGroupNameExits(false);
           });
       };
diff --git a/jams-react-client/src/views/Groups/Groups.js b/jams-react-client/src/views/Groups/Groups.js
index aba42d2c3c053ca62063d77febfb3356cc37274c..161f44bab8af90e6014096d250656db4e611ecd8 100644
--- a/jams-react-client/src/views/Groups/Groups.js
+++ b/jams-react-client/src/views/Groups/Groups.js
@@ -165,10 +165,9 @@ export default function Groups() {
       setSelectedBlueprint(getBlueprintsOptions()[0]);
     })
     .catch((error) => {
-      console.log(error);
       if (error.response.status === 401) {
         auth.authenticated = false;
-        history.push("/");
+        history.push("/signin");
       }
       if (error.response.status === 500) {
         setBlueprints([]);
@@ -212,10 +211,9 @@ export default function Groups() {
         setLoading(false);
       })
       .catch((error) => {
-        console.log(error);
         if (error.response.status === 401) {
           auth.authenticated = false;
-          history.push("/");
+          history.push("/signin");
         }
         if (error.response.status === 404){
           getBlueprints();
@@ -249,7 +247,6 @@ export default function Groups() {
         });
       })
       .catch((error) => {
-        console.log(error);
         setDisableCreate(false);
         setGroupNameExits(false);
       });
diff --git a/jams-react-client/src/views/UserProfile/DisplayUserProfile.js b/jams-react-client/src/views/UserProfile/DisplayUserProfile.js
index 282ff263fc38bce73ff1c10ea3fb89ce639196a3..e50cf22c93e11a38db656db83b3129c749b733b6 100644
--- a/jams-react-client/src/views/UserProfile/DisplayUserProfile.js
+++ b/jams-react-client/src/views/UserProfile/DisplayUserProfile.js
@@ -243,7 +243,6 @@ export default function DisplayUserProfile(props) {
             history.push("/");
           }else {
             setGroups([]);
-            console.log(error.response);
           }
         } else {
           setGroups([]);
@@ -344,10 +343,9 @@ export default function DisplayUserProfile(props) {
                   });
                   setGroupMemberships(userGroupsData);
                 }).catch((error) => {
-                  console.log(error);
                   if (error.response.status === 401) {
                     auth.authenticated = false;
-                    history.push("/");
+                    history.push("/signin");
                   }
                   if (error.response.status === 404) {
                     setGroupMemberships([]);
@@ -357,11 +355,17 @@ export default function DisplayUserProfile(props) {
                 setLoading(false);
               })
               .catch((error) => {
-                console.log(error);
+                if (error.response.status === 401) {
+                  auth.authenticated = false;
+                  history.push("/signin");
+                }
               });
           })
           .catch((error) => {
-            console.log(error);
+            if (error.response.status === 401) {
+              auth.authenticated = false;
+              history.push("/signin");
+            }
           });
       } else {
         axios(
@@ -400,10 +404,9 @@ export default function DisplayUserProfile(props) {
                   });
                   setGroupMemberships(userGroupsData);
                 }).catch((error) => {
-                  console.log(error);
                   if (error.response.status === 401) {
                     auth.authenticated = false;
-                    history.push("/");
+                    history.push("/signin");
                   }
                   if (error.response.status === 404) {
                     setGroupMemberships([]);
@@ -412,11 +415,17 @@ export default function DisplayUserProfile(props) {
                 setLoading(false);
               })
               .catch((error) => {
-                console.log(error);
+                if (error.response.status === 401) {
+                  auth.authenticated = false;
+                  history.push("/signin");
+                }
               });
           })
           .catch((error) => {
-            console.log(error);
+            if (error.response.status === 401) {
+              auth.authenticated = false;
+              history.push("/signin");
+            }
           });
       }
     });
diff --git a/jams-react-client/src/views/Users/Users.js b/jams-react-client/src/views/Users/Users.js
index ee96a21f4409daa2bbb8f75d325ee81424a260c4..9a92182effabd35a735189a2c10d5f5ac74d17dc 100644
--- a/jams-react-client/src/views/Users/Users.js
+++ b/jams-react-client/src/views/Users/Users.js
@@ -119,7 +119,7 @@ export default function Users(props) {
         setLoading(false);
         if (error.response.status === 401) {
           auth.authenticated = false;
-          history.push("/");
+          history.push("/signin");
         }
       });
     return () => {
@@ -155,7 +155,7 @@ export default function Users(props) {
         setLoading(false);
         if (error.response.status === 401) {
           auth.authenticated = false;
-          history.push("/");
+          history.push("/signin");
         }
       });
   };
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java
index 93c156dcbacbda2cb1f5bf9ba42d8759e0ab12e4..4daadce5f3a8bc01b8e026b0bc0e80db498fa32a 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java
@@ -95,6 +95,7 @@ public class LoginServlet extends HttpServlet {
                 }
             }
         }
+        resp.setContentType("application/json;charset=UTF-8");
         if (res == null)
             TomcatCustomErrorHandler.sendCustomError(resp, 401, "Invalid credentials provided!");
         else
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java
index 758148c159ac0d7df0e59509f9af078833a042e3..2cab1704875cc43af8a5008fc7a759bbe78a39db 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java
@@ -63,6 +63,7 @@ public class AddressServlet extends HttpServlet {
         JSONObject obj = new JSONObject();
         obj.put("name", username);
 
+        resp.setContentType("application/json;charset=UTF-8");
         if (username == null) TomcatCustomErrorHandler.sendCustomError(resp,404,"Address not found!");
         else resp.getWriter().write(obj.toString());
     }
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java
index 96a253a10cfb0a7181cb2ec0ec098565abb07433..b2dec3b8d8cbb2b5a7e14652b7b617bd97a4b50c 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java
@@ -58,6 +58,7 @@ public class NameServlet extends HttpServlet {
     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         NameLookupResponse nameLookupResponse = nameServer.getAddressFromName(req.getPathInfo().replace("/",""));
+        resp.setContentType("application/json;charset=UTF-8");
         if(nameLookupResponse == null) TomcatCustomErrorHandler.sendCustomError(resp,404,"name not found");
         else resp.getOutputStream().write(JsonStream.serialize(nameLookupResponse).getBytes());
     }
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java
index da079d0ff2f67c41153dd02f3c1aee934669460e..6adbcb275bbd90502f68758f6ad0a9c39f47f8e3 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java
@@ -51,6 +51,7 @@ public class ApiFilter implements Filter {
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
         HttpServletRequest request = (HttpServletRequest) servletRequest;
         HttpServletResponse response = (HttpServletResponse) servletResponse;
+        response.setContentType("application/json;charset=UTF-8");
         if (!Server.isInstalled.get()) {
             TomcatCustomErrorHandler.sendCustomError(response,404,"Setup has not yet been completed!");
         } else {
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java
index 478fe16c5a98dbac9bce25aef791b4ed57b993e3..3d57e902e5011bae152f3dba54e442f07d8bdb88 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java
@@ -46,6 +46,7 @@ public class InstallFilter implements Filter {
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
         HttpServletRequest request = (HttpServletRequest) servletRequest;
         HttpServletResponse response = (HttpServletResponse) servletResponse;
+        response.setContentType("application/json;charset=UTF-8");
         if(Server.isInstalled.get()){
             TomcatCustomErrorHandler.sendCustomError(response,404,"The server is already installed");
         }
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java
index 08fb91555ac50cd2f667586be0145513e4b74f73..e84c41e3e289e11c2351411f1180b27f4f9c20ab 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java
@@ -41,6 +41,7 @@ public class ServerStatusServlet extends HttpServlet {
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        HashMap<String,String> statusInfo = new HashMap<>();
         statusInfo.put("installed",String.valueOf(Server.isInstalled.get()));
+        resp.setContentType("application/json;charset=UTF-8");
         resp.getOutputStream().write(JsonStream.serialize(statusInfo).getBytes());
     }
 }