diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/DomiSMPPage.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/DomiSMPPage.java
index 9c413f382b494f9fd079e6088757f0a20e9168f5..7b9aaed55ce3ea75ed2ac8876862a3d8897d4f75 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/DomiSMPPage.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/DomiSMPPage.java
@@ -49,6 +49,9 @@ public class DomiSMPPage extends DComponent {
         return new LoginPage(driver);
     }
 
+    public void refreshPage() {
+        driver.navigate().refresh();
+    }
 
     public AlertComponent getAlertArea() {
         return new AlertComponent(driver);
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java b/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java
index 1561252692c9cefb7e1f8ec8bf4fbd11e79d9304..52423540cbfab0106b3fc331ea368e7d9738c1b6 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java
@@ -18,7 +18,7 @@ public class DSelect extends DObject {
     }
 
     public String getCurrentValue() {
-        return element.getText();
+        return select.getAllSelectedOptions().get(0).getText();
     }
 
 
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DWait.java b/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DWait.java
index ea486d48ee634598d97318af3658db8bf7e8f1e8..9e235b5bac87c317635c83ffadc2b733fa30b9af 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DWait.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DWait.java
@@ -18,8 +18,8 @@ public class DWait {
     public final WebDriverWait longWait;
     public final WebDriverWait shortWait;
     protected final Logger log = LoggerFactory.getLogger(this.getClass());
-    private TestRunData data = new TestRunData();
-    private WebDriver driver;
+    private final TestRunData data = new TestRunData();
+    private final WebDriver driver;
 
     public DWait(WebDriver driver) {
         this.defaultWait = new WebDriverWait(driver, data.getTIMEOUTinDuration());
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/enums/SMPThemes.java b/domiSMP-ui-tests/src/main/java/ddsl/enums/SMPThemes.java
index 0b4e4bf29ee1e59dc00d93df439df54e560d0f70..80067b3ea6713fd5de4fe7b77087827278daad46 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/enums/SMPThemes.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/enums/SMPThemes.java
@@ -10,22 +10,17 @@ public enum SMPThemes {
     Purple_Green_theme("Purple & Green theme");
 
 
-    private final String name; // field to store the string value
+    private final String name;
 
-    SMPThemes(String name) { // constructor to assign the string value
+    SMPThemes(String name) {
         this.name = name;
     }
 
-    public static SMPThemes getRandomTheme() {
+    public static String getRandomTheme() {
         SMPThemes[] themes = values();
         int size = themes.length;
         Random random = new Random();
         int index = random.nextInt(size);
-        return themes[index];
+        return themes[index].name;
     }
-
-    public String getName() { // getter method to access the string value
-        return name;
-    }
-
 }
diff --git a/domiSMP-ui-tests/src/main/java/pages/ProfilePage.java b/domiSMP-ui-tests/src/main/java/pages/ProfilePage.java
index 2e57a9977bbdedb23319667a6d327d1ec3cd3749..f47b814a04d9449451cc621837da53cebab31229 100644
--- a/domiSMP-ui-tests/src/main/java/pages/ProfilePage.java
+++ b/domiSMP-ui-tests/src/main/java/pages/ProfilePage.java
@@ -34,8 +34,8 @@ public class ProfilePage extends DomiSMPPage {
             if (!emailValue.isEmpty()) {
                 weToDInput(fullNameInput).fill(fullNameValue);
             }
-            if (!selectThemeValue.isEmpty()) {
-                weToDSelect(themeSel).selectValue(selectThemeValue);
+            if (!(selectThemeValue == null)) {
+                weToDSelect(themeSel).selectValue(selectThemeValue.toString());
             }
             if (!localeValue.isEmpty()) {
                 weToDSelect(localeSel).selectValue(localeValue);
diff --git a/domiSMP-ui-tests/src/main/java/rest/UserClient.java b/domiSMP-ui-tests/src/main/java/rest/UserClient.java
index 6594bd1c7e72ecffefeb564717b53bf9492a2289..d2fa35b034f70889ba035be97e0cfcb35b82ba31 100644
--- a/domiSMP-ui-tests/src/main/java/rest/UserClient.java
+++ b/domiSMP-ui-tests/src/main/java/rest/UserClient.java
@@ -2,14 +2,14 @@ package rest;
 
 import com.sun.jersey.api.client.ClientResponse;
 import org.json.JSONObject;
-import rest.models.CreateUserModel;
+import rest.models.UserModel;
 
 public class UserClient extends BaseRestClient {
     public UserClient(String username, String password) {
         super(username, password);
     }
 
-    public JSONObject createUser(CreateUserModel user) {
+    public JSONObject createUser(UserModel user) {
 
         JSONObject usrObj = new JSONObject(user);
 
diff --git a/domiSMP-ui-tests/src/main/java/rest/models/CreateUserModel.java b/domiSMP-ui-tests/src/main/java/rest/models/UserModel.java
similarity index 58%
rename from domiSMP-ui-tests/src/main/java/rest/models/CreateUserModel.java
rename to domiSMP-ui-tests/src/main/java/rest/models/UserModel.java
index 80589b6a6c5ab8db238548d553d2dba7e899308c..838f30c4b90450583306011bf4b430571e1a55d3 100644
--- a/domiSMP-ui-tests/src/main/java/rest/models/CreateUserModel.java
+++ b/domiSMP-ui-tests/src/main/java/rest/models/UserModel.java
@@ -5,7 +5,7 @@ import ddsl.enums.ApplicationRoles;
 import ddsl.enums.SMPThemes;
 import utils.Generator;
 
-public class CreateUserModel {
+public class UserModel {
 
     private String userId;
     private String username;
@@ -16,7 +16,7 @@ public class CreateUserModel {
     private String smpTheme;
     private String smpLocale;
 
-    public CreateUserModel(String username, boolean active, String role, String emailAddress, String fullName, String smpTheme, String smpLocale) {
+    public UserModel(String username, boolean active, String role, String emailAddress, String fullName, String smpTheme, String smpLocale) {
         this.username = username;
         this.active = active;
         this.role = role;
@@ -26,7 +26,7 @@ public class CreateUserModel {
         this.smpLocale = smpLocale;
     }
 
-    public CreateUserModel() {
+    public UserModel() {
     }
 
     public String getUserId() {
@@ -94,30 +94,38 @@ public class CreateUserModel {
         this.smpLocale = smpLocale;
     }
 
-    public static CreateUserModel createUserWithUSERrole() {
-        CreateUserModel userModel = new CreateUserModel();
-        userModel.username = ("AUT_username_ " + Generator.randomAlphaNumeric(4)).toLowerCase();
+    public static UserModel createUserWithUSERrole() {
+        UserModel userModel = new UserModel();
+        userModel.username = ("AUT_username_" + Generator.randomAlphaNumeric(4)).toLowerCase();
         userModel.active = true;
         userModel.role = ApplicationRoles.USER;
-        userModel.emailAddress = "AUT_email_ " + Generator.randomAlphaNumeric(4) + "@automation.com";
-        ;
-        userModel.fullName = "AUT_fullname_ " + Generator.randomAlphaNumeric(4);
-        userModel.smpTheme = SMPThemes.getRandomTheme().toString();
+        userModel.emailAddress = "AUT_email_" + Generator.randomAlphaNumeric(4) + "@automation.com";
+        userModel.fullName = "AUT_fullname_" + Generator.randomAlphaNumeric(4);
+        userModel.smpTheme = SMPThemes.getRandomTheme();
         userModel.smpLocale = "English";
         return userModel;
     }
 
-    public static CreateUserModel createUserWithADMINrole() {
-        CreateUserModel userModel = new CreateUserModel();
-        userModel.username = ("AUT_username_ " + Generator.randomAlphaNumeric(4)).toLowerCase();
+    public static UserModel createUserWithADMINrole() {
+        UserModel userModel = new UserModel();
+        userModel.username = ("AUT_username_" + Generator.randomAlphaNumeric(4)).toLowerCase();
         userModel.active = true;
         userModel.role = ApplicationRoles.SYSTEM_ADMIN;
-        userModel.emailAddress = "AUT_email_ " + Generator.randomAlphaNumeric(4) + "@automation.com";
-        ;
-        userModel.fullName = "AUT_fullname_ " + Generator.randomAlphaNumeric(4);
-        userModel.smpTheme = SMPThemes.getRandomTheme().toString();
+        userModel.emailAddress = "AUT_email_" + Generator.randomAlphaNumeric(4) + "@automation.com";
+        userModel.fullName = "AUT_fullname_" + Generator.randomAlphaNumeric(4);
+        userModel.smpTheme = SMPThemes.getRandomTheme();
         userModel.smpLocale = "English";
         return userModel;
     }
+
+    public static UserModel generateUserProfileData() {
+        UserModel userModel = new UserModel();
+        userModel.emailAddress = "AUT_email_" + Generator.randomAlphaNumeric(4) + "@automation.com";
+        userModel.fullName = "AUT_fullname_" + Generator.randomAlphaNumeric(4);
+        userModel.smpTheme = SMPThemes.getRandomTheme();
+        userModel.smpLocale = "Dutch";
+        return userModel;
+    }
+
 }
 
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java
index 8c13f4e662af016d75125e5215eb710309623ea1..0d139fc1ea1d947180d2f6925dda8ac113fbd34d 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java
@@ -6,13 +6,14 @@ import domiSMPTests.SeleniumTest;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 import pages.LoginPage;
-import rest.models.CreateUserModel;
+import pages.ProfilePage;
+import rest.models.UserModel;
 
 
 public class ProfilePgTests extends SeleniumTest {
     @Test(description = "PROF-01")
-    public void AllUsersAreAbleToSeeProfilePage() throws Exception {
-        CreateUserModel normalUser = CreateUserModel.createUserWithUSERrole();
+    public void AllLoggedUsersAreAbleToSeeProfilePage() throws Exception {
+        UserModel normalUser = UserModel.createUserWithUSERrole();
 
         rest.users().createUser(normalUser);
 
@@ -29,7 +30,7 @@ public class ProfilePgTests extends SeleniumTest {
         homePage.logout();
 
         //Check if page is avaiable for Admin users
-        CreateUserModel adminUser = CreateUserModel.createUserWithUSERrole();
+        UserModel adminUser = UserModel.createUserWithUSERrole();
         rest.users().createUser(adminUser);
 
         loginPage = homePage.goToLoginPage();
@@ -45,4 +46,55 @@ public class ProfilePgTests extends SeleniumTest {
         homePage.logout();
         Assert.assertFalse(homePage.getSidebar().isMenuAvailable(Pages.USER_SETTINGS_PROFILE));
     }
+
+    @Test(description = "PROF-02")
+    public void AllLoggedUsersAreAbleToUpdateProfilePage() throws Exception {
+        UserModel normalUser = UserModel.createUserWithUSERrole();
+
+        rest.users().createUser(normalUser);
+
+        DomiSMPPage homePage = new DomiSMPPage(driver);
+        LoginPage loginPage = homePage.goToLoginPage();
+        loginPage.login(normalUser.getUsername(), data.getNewPassword());
+
+        //Navigate to page
+        ProfilePage profilePage = (ProfilePage) homePage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
+        UserModel userNewProfileData = UserModel.generateUserProfileData();
+        profilePage.changeUserProfileData(userNewProfileData.getEmailAddress(), userNewProfileData.getFullName(), userNewProfileData.getSmpTheme(), userNewProfileData.getSmpLocale());
+
+        profilePage.refreshPage();
+
+        //Verify if data is changed
+
+        Assert.assertEquals(profilePage.getEmailAddress(), userNewProfileData.getEmailAddress());
+        Assert.assertEquals(profilePage.getFullName(), userNewProfileData.getFullName());
+        Assert.assertEquals(profilePage.getSelectedTheme(), userNewProfileData.getSmpTheme());
+        Assert.assertEquals(profilePage.getSelectedLocale(), userNewProfileData.getSmpLocale());
+
+        homePage.logout();
+
+
+        UserModel adminUser = UserModel.createUserWithUSERrole();
+
+        rest.users().createUser(adminUser);
+
+        homePage = new DomiSMPPage(driver);
+        loginPage = homePage.goToLoginPage();
+        loginPage.login(adminUser.getUsername(), data.getNewPassword());
+
+        //Navigate to page
+        profilePage = (ProfilePage) homePage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
+        UserModel adminNewProfileData = UserModel.generateUserProfileData();
+        profilePage.changeUserProfileData(adminNewProfileData.getEmailAddress(), adminNewProfileData.getFullName(), adminNewProfileData.getSmpTheme(), adminNewProfileData.getSmpLocale());
+
+        profilePage.refreshPage();
+
+        //Verify if data is changed
+        Assert.assertEquals(profilePage.getEmailAddress(), adminNewProfileData.getEmailAddress());
+        Assert.assertEquals(profilePage.getFullName(), adminNewProfileData.getFullName());
+        Assert.assertEquals(profilePage.getSelectedTheme(), adminNewProfileData.getSmpTheme());
+        Assert.assertEquals(profilePage.getSelectedLocale(), adminNewProfileData.getSmpLocale());
+
+
+    }
 }