diff --git a/smp-angular/src/app/common/panels/document-edit-panel/document-edit-panel.component.html b/smp-angular/src/app/common/panels/document-edit-panel/document-edit-panel.component.html
index d9011a7dd661dd94f04deee2c71728889e3e1dbf..e0b2fa6d735140a34878c7ddc1b435c772955042 100644
--- a/smp-angular/src/app/common/panels/document-edit-panel/document-edit-panel.component.html
+++ b/smp-angular/src/app/common/panels/document-edit-panel/document-edit-panel.component.html
@@ -226,7 +226,7 @@
           <mat-icon>task</mat-icon>
           <span>{{ "document.edit.panel.button.version.review.request" | translate }}</span>
         </button>
-        <button mat-raised-button
+        <button mat-raised-button  id="reviewApprove_id"
                 *ngIf="!isNotReviewMode || hasReviewPermission"
                 color="primary"
                 matTooltip="{{ 'document.edit.panel.tooltip.version.review.approve' | translate }}"
@@ -235,7 +235,7 @@
           <mat-icon>check_circle</mat-icon>
           <span>{{ "document.edit.panel.button.version.review.approve" | translate }}</span>
         </button>
-        <button mat-raised-button
+        <button mat-raised-button id="reviewReject_id"
                 color="primary"
                 matTooltip="{{ 'document.edit.panel.tooltip.version.review.reject' | translate }}"
                 [disabled]="reviewRejectButtonDisabled"
diff --git a/smp-angular/src/app/common/utils/date-utils.ts b/smp-angular/src/app/common/utils/date-utils.ts
index f1e51eee27983c9eb93b3dff9c011f54b78deb73..c067640c7dd2ffd61598753f1eb64e5280765afa 100644
--- a/smp-angular/src/app/common/utils/date-utils.ts
+++ b/smp-angular/src/app/common/utils/date-utils.ts
@@ -11,7 +11,7 @@ import StringUtils from "./string-utils";
  * such as date comparison and date formatting
  */
 export default class DateUtils {
-  public static readonly DEFAULT_LOCALE: string = 'fr';
+  public static readonly DEFAULT_LOCALE: string = 'en';
   // ISO8601 extended format + Z indicator for offset 0 (= XXXXX) example  -08:00
   // see details getLocaleDateTimeFormat/ getLocaleTimeFormat
   public static readonly DEFAULT_ZONE_FORMAT: string = ' ZZZZZ';
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 bc1a77fd69157cc3c93818d7d602f735b4dd9b8b..1e9bcbe7e95913aa8186f30c7a42aaec9532a32a 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
@@ -20,6 +20,7 @@ package eu.europa.ec.edelivery.smp.conversion;
 
 import eu.europa.ec.edelivery.smp.data.model.user.DBUser;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
+import eu.europa.ec.edelivery.smp.utils.LocaleUtils;
 import eu.europa.ec.edelivery.smp.utils.SessionSecurityUtils;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.stereotype.Component;
@@ -41,7 +42,7 @@ public class UserROToDBUserConverter implements Converter<UserRO, DBUser> {
         target.setEmailAddress(source.getEmailAddress());
         target.setFullName(source.getFullName());
         target.setSmpTheme(source.getSmpTheme());
-        target.setSmpLocale(source.getSmpLocale());
+        target.setSmpLocale(LocaleUtils.validateLocale(source.getSmpLocale()));
         return target;
     }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
index b91007e3c8ddc17a626e90e096ecaaa2ce2e3774..86dcb70941f73daba67212097451de602652159b 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
@@ -42,6 +42,7 @@ import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import eu.europa.ec.edelivery.smp.services.CredentialService;
 import eu.europa.ec.edelivery.smp.services.CredentialsAlertService;
 import eu.europa.ec.edelivery.smp.utils.BCryptPasswordHash;
+import eu.europa.ec.edelivery.smp.utils.LocaleUtils;
 import eu.europa.ec.edelivery.smp.utils.SessionSecurityUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.core.convert.ConversionService;
@@ -313,7 +314,7 @@ public class UIUserService extends UIServiceBase<DBUser, UserRO> {
         dbUser.setEmailAddress(user.getEmailAddress());
         dbUser.setFullName(user.getFullName());
         dbUser.setSmpTheme(user.getSmpTheme());
-        dbUser.setSmpLocale(user.getSmpLocale());
+        dbUser.setSmpLocale(LocaleUtils.validateLocale(user.getSmpLocale()));
     }
 
     @Transactional
@@ -330,7 +331,7 @@ public class UIUserService extends UIServiceBase<DBUser, UserRO> {
         dbUser.setEmailAddress(user.getEmailAddress());
         dbUser.setFullName(user.getFullName());
         dbUser.setSmpTheme(user.getSmpTheme());
-        dbUser.setSmpLocale(user.getSmpLocale());
+        dbUser.setSmpLocale(LocaleUtils.validateLocale(user.getSmpLocale()));
         alertService.alertUserUpdated(dbUser);
     }
 
@@ -348,7 +349,7 @@ public class UIUserService extends UIServiceBase<DBUser, UserRO> {
         dbUser.setEmailAddress(user.getEmailAddress());
         dbUser.setFullName(user.getFullName());
         dbUser.setSmpTheme(user.getSmpTheme());
-        dbUser.setSmpLocale(user.getSmpLocale());
+        dbUser.setSmpLocale(LocaleUtils.validateLocale(user.getSmpLocale()));
         return createDBUser(dbUser);
     }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/LocaleUtils.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/LocaleUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..daa57691774717bc5d84380066096dfa82d0b428
--- /dev/null
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/LocaleUtils.java
@@ -0,0 +1,54 @@
+/*-
+ * #START_LICENSE#
+ * smp-server-library
+ * %%
+ * Copyright (C) 2017 - 2024 European Commission | eDelivery | DomiSMP
+ * %%
+ * Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent
+ * versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ *
+ * [PROJECT_HOME]\license\eupl-1.2\license.txt or https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence is
+ * distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and limitations under the Licence.
+ * #END_LICENSE#
+ */
+package eu.europa.ec.edelivery.smp.utils;
+
+import eu.europa.ec.edelivery.smp.logging.SMPLogger;
+import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * Utility class for locale operations.
+ * @since 5.1
+ * @author Joze RIHTARSIC
+ */
+public class LocaleUtils {
+    private static final SMPLogger LOG = SMPLoggerFactory.getLogger(LocaleUtils.class);
+
+    private LocaleUtils() {
+        // private constructor
+    }
+
+
+    /**
+     * Method validates the locale string if locale is valid then returns "en"
+     * @param locale localeString to validate
+     * @return validated locale or "en" if locale is invalid
+     */
+    public static String validateLocale(String locale) {
+        if (StringUtils.isBlank(locale)) {
+            LOG.warn("Locale is not set, defaulting to 'en'");
+            return "en";
+        }
+        if (locale.length() != 2) {
+            LOG.warn("Invalid locale [{}], defaulting to 'en'", locale);
+            return "en";
+        }
+        return locale;
+    }
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java
index fe9c78cb265e40f9a7ee877bf3c141ecd119cba3..0554b235be31d6fdcdcbfcd673e6edf658fef111 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java
@@ -404,7 +404,8 @@ class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao {
         // changed
         assertEquals(userRO.getEmailAddress(), changedUser.getEmailAddress());
         assertEquals(userRO.getSmpTheme(), changedUser.getSmpTheme());
-        assertEquals(userRO.getSmpLocale(), changedUser.getSmpLocale());
+        // if locale is not valid, it should be set to default
+        assertEquals("en", changedUser.getSmpLocale());
         assertEquals(userRO.getEmailAddress(), changedUser.getEmailAddress());
         assertEquals(userRO.getFullName(), changedUser.getFullName());
     }