diff --git a/src/redux/user/user.reducers.ts b/src/redux/user/user.reducers.ts
index 1713e729c9479aab019b4fa6912bccaebe9da004..2cb2002a5ad810bd67698c60aaa5618ec3ab41b3 100644
--- a/src/redux/user/user.reducers.ts
+++ b/src/redux/user/user.reducers.ts
@@ -12,6 +12,7 @@ export const loginReducer = (builder: ActionReducerMapBuilder<UserState>): void
       state.loading = 'succeeded';
       state.role = action.payload?.role || null;
       state.login = action.payload?.login || null;
+      state.userData = action.payload?.userData || null;
     })
     .addCase(login.rejected, state => {
       state.authenticated = false;
@@ -48,6 +49,7 @@ export const logoutReducer = (builder: ActionReducerMapBuilder<UserState>): void
       state.loading = 'succeeded';
       state.role = null;
       state.login = null;
+      state.userData = null;
     })
     .addCase(logout.rejected, state => {
       state.loading = 'failed';
diff --git a/src/redux/user/user.thunks.ts b/src/redux/user/user.thunks.ts
index 43aecbc931ff2b24936648b720bc2b4fd02bd562..19aa06df945099a3fc3dc8b4e42a1c61f335f57b 100644
--- a/src/redux/user/user.thunks.ts
+++ b/src/redux/user/user.thunks.ts
@@ -54,6 +54,7 @@ export const login = createAsyncThunk(
         return {
           login: loginName,
           role,
+          userData,
         };
       }
 
diff --git a/src/utils/error-report/errorReporting.test.ts b/src/utils/error-report/errorReporting.test.ts
index afc07563078ed1c9e17d81abef09ebf13f2a5471..a49607f5f2ef3f182475b5d974a0d692b0c07d7a 100644
--- a/src/utils/error-report/errorReporting.test.ts
+++ b/src/utils/error-report/errorReporting.test.ts
@@ -2,7 +2,7 @@ import { createErrorData } from '@/utils/error-report/errorReporting';
 import { apiPath } from '@/redux/apiPath';
 import { HttpStatusCode } from 'axios';
 import { loginFixture } from '@/models/fixtures/loginFixture';
-import { login } from '@/redux/user/user.thunks';
+import { login, logout } from '@/redux/user/user.thunks';
 import { mockNetworkResponse } from '@/utils/mockNetworkResponse';
 import { store } from '@/redux/store';
 import { getConfiguration } from '@/redux/configuration/configuration.thunks';
@@ -61,4 +61,20 @@ describe('createErrorData', () => {
     const error = createErrorData(new Error());
     expect(error.version).not.toBeNull();
   });
+
+  it('should add email when logged', async () => {
+    mockedAxiosClient.onPost(apiPath.postLogin()).reply(HttpStatusCode.Ok, loginFixture);
+    mockedAxiosClient.onGet(apiPath.user(loginFixture.login)).reply(HttpStatusCode.Ok, userFixture);
+    await store.dispatch(login(CREDENTIALS));
+
+    const error = createErrorData(new Error());
+    expect(error.email).toBe(userFixture.email);
+  });
+
+  it('email should be empty when not logged', async () => {
+    mockedAxiosClient.onPost(apiPath.logout()).reply(HttpStatusCode.Ok, {});
+    await store.dispatch(logout());
+    const error = createErrorData(new Error());
+    expect(error.email).toBeNull();
+  });
 });
diff --git a/src/utils/error-report/errorReporting.ts b/src/utils/error-report/errorReporting.ts
index f10be545d0cb638e60d6d749022e3ab6be4b8d17..46538a868e6fd2910f82498511e7679f4b108a4c 100644
--- a/src/utils/error-report/errorReporting.ts
+++ b/src/utils/error-report/errorReporting.ts
@@ -14,6 +14,12 @@ export const createErrorData = (error: Error | SerializedError | undefined): Err
   if (!login) {
     login = 'anonymous';
   }
+
+  const { userData } = store.getState().user;
+  let email = null;
+  if (userData) {
+    email = userData.email;
+  }
   const configuration = store.getState().configuration.main.data;
   const version = configuration ? configuration.version : null;
 
@@ -22,7 +28,7 @@ export const createErrorData = (error: Error | SerializedError | undefined): Err
     login,
     browser: navigator.userAgent,
     comment: null,
-    email: null, // TODO
+    email,
     javaStacktrace: null, // TODO
     stacktrace,
     timestamp: Math.floor(+new Date() / ONE_THOUSAND),