diff --git a/jams-server/build-ui.sh b/jams-server/build-ui.sh
index b9ae29e53f591e2bbe255b942de6ef94bff95f7a..fdb7d78c1dfbdc487cefab6e3744619af11bfc28 100755
--- a/jams-server/build-ui.sh
+++ b/jams-server/build-ui.sh
@@ -1,8 +1,6 @@
 #!/bin/bash
 #Build the UI from the react js folder.
 cd ../jams-react-client || exit
-echo "Using Node version: "
-nvm -v
 npm install
 npm run build
 #Now the UI is built we can exit and copy resource
diff --git a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java
index 8bb441d86d9bab88bc4bf761dd3383c27c45450a..6c8a79a26dfcd37d06db3fc31f17ab9d506608b2 100644
--- a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java
+++ b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java
@@ -24,22 +24,28 @@ package net.jami.jams.server.core.workflows;
 
 import com.jsoniter.JsonIterator;
 import lombok.extern.slf4j.Slf4j;
+
+import net.jami.jams.authmodule.UserAuthenticationModule;
 import net.jami.jams.common.authmodule.AuthModuleKey;
 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.DeviceRegistrationRequest;
 import net.jami.jams.common.objects.responses.DeviceRegistrationResponse;
+import net.jami.jams.common.objects.roots.X509Fields;
 import net.jami.jams.common.objects.user.*;
 import net.jami.jams.dht.DeviceReceiptGenerator;
 import net.jami.jams.common.objects.user.Group;
+import net.jami.jams.dht.ETHAddressGenerator;
 
 
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Optional;
 
+import static net.jami.jams.authmodule.UserAuthenticationModule.datastore;
 import static net.jami.jams.server.Server.certificateAuthority;
 import static net.jami.jams.server.Server.dataStore;
 import static net.jami.jams.server.Server.nameServer;
@@ -61,6 +67,13 @@ public class RegisterDeviceFlow {
             if (user == null) {
                 log.error("Tried to enroll a device, but could not find a user, this is impossible!");
             }
+
+            // Renew user certificate if expired with same private key
+            if(!user.getCertificate().getNotAfter().after(new Date())) {
+                user = UserAuthenticationModule.certificateAuthority.getSignedCertificate(user);
+                datastore.getUserDao().storeObject(user);
+            }
+
             Device device = new Device();
             device.setCertificationRequest(registrationRequest.getCsr());
             device.setOwner(username);