diff --git a/internal/auth/inmemory.go b/internal/auth/inmemory.go
index 70aab983373267b572f4fb1c7aae5f8b2f2c4ad7..6e84c594e4380a97dc6d8b367514c9c9ca0c81c5 100644
--- a/internal/auth/inmemory.go
+++ b/internal/auth/inmemory.go
@@ -101,6 +101,11 @@ func (d *DataHandler) AddUser(w http.ResponseWriter, req *http.Request) {
 		http.Error(w, "passwords cannot be blank", 400)
 		return
 	}
+	if newUser.Role == "ADMIN" {
+		newUser.IsAdmin = true
+	} else {
+		newUser.IsAdmin = false
+	}
 	if newUser.Password != "" {
 		hash, err := bcrypt.GenerateFromPassword([]byte(newUser.Password), bcrypt.DefaultCost)
 		if err != nil {
@@ -154,6 +159,11 @@ func (d *DataHandler) UpdateUser(w http.ResponseWriter, req *http.Request) {
 		user.Name = newUser.Name
 		user.Surname = newUser.Surname
 		user.Role = newUser.Role
+		if user.Role == "ADMIN" {
+			user.IsAdmin = true
+		} else {
+			user.IsAdmin = false
+		}
 		if newUser.Password != "" {
 			hash, err := bcrypt.GenerateFromPassword([]byte(newUser.Password), bcrypt.DefaultCost)
 			if err != nil {
diff --git a/internal/auth/oauth2.go b/internal/auth/oauth2.go
index 73b04e7eea2cd650862b300428386c64c68ba590..39d404c7b33e3b0c3c43818bd54225df0a1d79e5 100644
--- a/internal/auth/oauth2.go
+++ b/internal/auth/oauth2.go
@@ -163,8 +163,12 @@ func (d *DataHandler) addUserInMemory(userOauth2 UserOAuth2) (User, error) {
 	for _, userRole := range userOauth2.Groups {
 		if userRole != "" && (userRole == os.Getenv("ADMIN_GROUP")) {
 			user.Role = "ADMIN"
+			user.IsAdmin = true
+			break
 		} else if userRole != "" && (userRole == os.Getenv("CLIENT_GROUP")) {
 			user.Role = "CLIENT"
+			user.IsAdmin = false
+			break
 		} else {
 			return user, errors.New("user not in an app group")
 		}