diff --git a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java
index 357f06972d432c113a05c27fceaca35161be7be2..0cffcc57a224a6c8a2f37b43960fb13d2ed07ead 100644
--- a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java
+++ b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java
@@ -17,12 +17,12 @@ import static net.jami.jams.server.Server.certificateAuthority;
 @Slf4j
 public class RevokeDeviceFlow {
 
-    public static DeviceRevocationResponse revokeDevice(String username, RevocationRequest request){
+    public static DeviceRevocationResponse revokeDevice(String username, String deviceId){
         DeviceRevocationResponse response = new DeviceRevocationResponse();
         try {
             StatementList statementList = new StatementList();
             StatementElement st1 = new StatementElement("owner","=",username,"AND");
-            StatementElement st2 = new StatementElement("deviceId","=",request.getIdentifier().toString(),"");
+            StatementElement st2 = new StatementElement("deviceId","=",deviceId,"");
             statementList.addStatement(st1);
             statementList.addStatement(st2);
             Device device = dataStore.getDeviceDao().getObjects(statementList).get(0);
@@ -30,6 +30,8 @@ public class RevokeDeviceFlow {
                 log.error("Could not find device!");
                 return null;
             }
+            RevocationRequest request = new RevocationRequest();
+            request.setRevocationType(RevocationType.DEVICE);
             request.setIdentifier(device.getCertificate().getSerialNumber());
             certificateAuthority.revokeCertificate(request);
             long statTime = System.currentTimeMillis();
diff --git a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java
index 62ebcfaf4c2963576702c57dd31a2fc35e86d08a..ad340267f0758bfa23e4797873915b85c373d27d 100644
--- a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java
+++ b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java
@@ -5,6 +5,7 @@ import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
 import net.jami.jams.common.objects.devices.Device;
 import net.jami.jams.common.objects.requests.RevocationRequest;
+import net.jami.jams.common.objects.requests.RevocationType;
 import net.jami.jams.common.objects.responses.DeviceRevocationResponse;
 import net.jami.jams.common.objects.user.User;
 
@@ -14,7 +15,7 @@ import static net.jami.jams.server.Server.dataStore;
 @Slf4j
 public class RevokeUserFlow {
 
-    public static DeviceRevocationResponse revokeUser(String username, RevocationRequest request){
+    public static DeviceRevocationResponse revokeUser(String username){
         DeviceRevocationResponse response = new DeviceRevocationResponse();
         try {
             StatementList statementList = new StatementList();
@@ -25,6 +26,8 @@ public class RevokeUserFlow {
                 log.error("Could not find user!");
                 return null;
             }
+            RevocationRequest request = new RevocationRequest();
+            request.setRevocationType(RevocationType.USER);
             request.setIdentifier(user.getCertificate().getSerialNumber());
             certificateAuthority.revokeCertificate(request);
             long statTime = System.currentTimeMillis();
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
index 045ba9ad439a842b3b39e972b46d01395f2533b1..738d6f7256c93a4845b65d82e96ca2939dc81f48 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
@@ -39,9 +39,7 @@ public class UserServlet extends HttpServlet {
     //Revoke a user.
     @Override
     protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-        RevocationRequest request = new RevocationRequest();
-        request.setRevocationType(RevocationType.USER);
-        DeviceRevocationResponse devResponse = RevokeUserFlow.revokeUser(req.getParameter("username").toString(), request);
+        DeviceRevocationResponse devResponse = RevokeUserFlow.revokeUser(req.getParameter("username"));
         if(devResponse != null) resp.getOutputStream().write(JsonStream.serialize(devResponse).getBytes());
         else resp.sendError(500,"An exception has occurred while trying to revoke a device!");
     }
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java
index 67a10b2dc150ae5c1e803e062117c6c797b07590..d32491e5e457fb439526f3d3b4da4cf0255673da 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java
@@ -53,10 +53,7 @@ public class DeviceServlet extends HttpServlet {
     @Override
     protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         super.doDelete(req, resp);
-        RevocationRequest request = new RevocationRequest();
-        request.setIdentifier(new BigInteger(req.getAttribute("deviceId").toString()));
-        request.setRevocationType(RevocationType.DEVICE);
-        DeviceRevocationResponse devResponse = RevokeDeviceFlow.revokeDevice(req.getAttribute("username").toString(), request);
+        DeviceRevocationResponse devResponse = RevokeDeviceFlow.revokeDevice(req.getAttribute("username").toString(),req.getParameter("deviceId"));
         if(devResponse != null) resp.getOutputStream().write(JsonStream.serialize(devResponse).getBytes());
         else resp.sendError(500,"An exception has occurred while trying to revoke a device!");
     }