diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverter.java
index 030d291529fce5a8ac7cb66297585c40bf31ad42..51e549974fc63a6f362f8fec45d53e05571c68b6 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverter.java
@@ -3,7 +3,7 @@ package eu.europa.ec.edelivery.smp.conversion;
 import eu.europa.ec.edelivery.smp.data.model.DBUser;
 import eu.europa.ec.edelivery.smp.data.ui.CertificateRO;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.convert.ConversionService;
 import org.springframework.core.convert.converter.Converter;
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
 
 import java.time.LocalDateTime;
 
+
 /**
  * @author Sebastian-Ion TINCU
  */
@@ -33,6 +34,12 @@ public class DBUserToUserROConverter implements Converter<DBUser, UserRO> {
         if (source.getCertificate() != null) {
             CertificateRO certificateRO = conversionService.convert(source.getCertificate(), CertificateRO.class);
             target.setCertificate(certificateRO);
+            if(StringUtils.equalsIgnoreCase(source.getCertificate().getCertificateId(), source.getUsername())) {
+                // clear username if is the same as certificate id.
+                // username as cert id is set to database to force unique users
+                // and to fix issue with mysql - where null value is also unique...
+                target.setUsername(null);
+            }
         }
         return target;
     }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverter.java
index ebd07559d26e02b9a77dcd5dcfac24dca75bd79e..325b6f585dfefa40a26a3a8c7a17f80d4027a163 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverter.java
@@ -3,11 +3,14 @@ package eu.europa.ec.edelivery.smp.conversion;
 import eu.europa.ec.edelivery.smp.data.model.DBCertificate;
 import eu.europa.ec.edelivery.smp.data.model.DBUser;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.convert.ConversionService;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.stereotype.Component;
 
+import java.util.Objects;
+
 /**
  * @author Sebastian-Ion TINCU
  */
@@ -29,6 +32,13 @@ public class UserROToDBUserConverter implements Converter<UserRO, DBUser> {
         if (source.getCertificate() != null) {
             DBCertificate certData = conversionService.convert(source.getCertificate(), DBCertificate.class);
             target.setCertificate(certData);
+
+            if(StringUtils.isBlank(source.getUsername())) {
+                // set username with certificate id.
+                // username as cert id is set to database to force unique users
+                // and to fix issue with mysql - where null value is also unique...
+                target.setUsername(certData.getCertificateId());
+            }
         }
         return target;
     }