diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts
index 02f28ae18223e74286b62b83a5e1aca03ce577d7..a87e303490c3338cf2b776a725cf28f74f2a8679 100644
--- a/api/src/engine/connectors/exareme/main.connector.ts
+++ b/api/src/engine/connectors/exareme/main.connector.ts
@@ -27,6 +27,7 @@ import { ExperimentEditInput } from 'src/engine/models/experiment/input/experime
 import { ListExperiments } from 'src/engine/models/experiment/list-experiments.model';
 import { Group } from 'src/engine/models/group.model';
 import { Variable } from 'src/engine/models/variable.model';
+import { UpdateUserInput } from 'src/users/inputs/update-user.input';
 import { User } from 'src/users/models/user.model';
 import { transformToUser } from '../datashield/transformations';
 import {
@@ -191,21 +192,15 @@ export default class ExaremeService implements IEngineService {
     }
   }
 
-  async updateUser(request: Request): Promise<User> {
+  async updateUser(request: Request): Promise<UpdateUserInput | undefined> {
     const path = this.options.baseurl + 'activeUser/agreeNDA';
-    const response = await firstValueFrom(
+    await firstValueFrom(
       this.post<string>(request, path, {
         agreeNDA: true,
       }),
     );
 
-    try {
-      return transformToUser.evaluate(response.data);
-    } catch (e) {
-      throw new InternalServerErrorException(
-        'Error when trying to parse user data from the engine',
-      );
-    }
+    return undefined; //we don't want to manage data locally
   }
 
   getAlgorithmsREST(request: Request): Observable<string> {
diff --git a/api/src/engine/engine.interfaces.ts b/api/src/engine/engine.interfaces.ts
index 1a93078d70be9ded4272022f0dff5b85d2017e33..c36cd48cf4754d22138cf49cf567cf126a56ddcf 100644
--- a/api/src/engine/engine.interfaces.ts
+++ b/api/src/engine/engine.interfaces.ts
@@ -65,7 +65,7 @@ export interface IEngineService {
     req?: Request,
     userId?: string,
     data?: UpdateUserInput,
-  ): Promise<User>;
+  ): Promise<UpdateUserInput | undefined>;
 
   logout?(req?: Request): Promise<void>;
 
diff --git a/api/src/users/users.resolver.spec.ts b/api/src/users/users.resolver.spec.ts
index e449f71fb0900a50fc53711d934d8be13fdcc4d1..ad7ccb85c21bfd417f33c76cfb55fec94cbdcb9e 100644
--- a/api/src/users/users.resolver.spec.ts
+++ b/api/src/users/users.resolver.spec.ts
@@ -51,9 +51,14 @@ describe('UsersResolver', () => {
 
   const engineService = {
     getActiveUser,
-    updateUser: jest.fn().mockResolvedValue({ ...user, ...updateData }),
+    updateUser: jest
+      .fn()
+      .mockReturnValue(undefined)
+      .mockResolvedValue(undefined),
   };
 
+  const updateService = jest.fn().mockResolvedValue({ ...user, ...internUser });
+
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
       providers: [UsersResolver],
@@ -62,7 +67,7 @@ describe('UsersResolver', () => {
         if (token == UsersService) {
           return {
             findOne,
-            update: jest.fn().mockResolvedValue({ ...user, ...internUser }),
+            update: updateService,
           };
         }
         if (token == ENGINE_SERVICE) {
@@ -107,14 +112,18 @@ describe('UsersResolver', () => {
   });
 
   it('Update user from engine ', async () => {
-    expect(await resolver.updateUser(req, updateData, user)).toStrictEqual({
-      ...user,
-      ...updateData,
-    });
+    engineService.updateUser.mockClear();
+    updateService.mockClear();
+    await resolver.updateUser(req, updateData, user);
+    expect(engineService.updateUser.mock.calls.length > 0);
+    expect(updateService.mock.calls.length === 0);
   });
 
   it('Update user from database', async () => {
-    engineService.updateUser = undefined;
+    engineService.updateUser = jest
+      .fn()
+      .mockReturnValue(undefined)
+      .mockResolvedValue(undefined);
     expect(await resolver.updateUser(req, updateData, user)).toStrictEqual({
       ...user,
       ...internUser,
diff --git a/api/src/users/users.resolver.ts b/api/src/users/users.resolver.ts
index 0b78a0fb5af9b0dfb7de5a8d727e418954697de0..ad1fcd0e750bf635ab72bbd9c10a660e77658c18 100644
--- a/api/src/users/users.resolver.ts
+++ b/api/src/users/users.resolver.ts
@@ -75,14 +75,17 @@ export class UsersResolver {
     @Args('updateUserInput') updateUserInput: UpdateUserInput,
     @CurrentUser() user?: User,
   ) {
-    if (this.engineService.updateUser)
-      return await this.engineService.updateUser(
+    let updateData: UpdateUserInput | undefined = updateUserInput;
+    if (this.engineService.updateUser) {
+      updateData = await this.engineService.updateUser(
         request,
         user?.id,
-        updateUserInput,
+        updateData,
       );
+    }
 
-    await this.usersService.update(user.id, updateUserInput);
+    if (updateData && Object.keys(updateData).length > 0)
+      await this.usersService.update(user.id, updateData);
 
     return await this.getUser(request, user);
   }