diff --git a/smp-angular/src/app/user-settings/user-access-tokens/user-access-tokens.component.ts b/smp-angular/src/app/user-settings/user-access-tokens/user-access-tokens.component.ts
index 1c1416474551825a2ef6e16ac17479ae2dd27e3d..2be5a50b57e59d1ca2e2fae44879f3a73460955a 100644
--- a/smp-angular/src/app/user-settings/user-access-tokens/user-access-tokens.component.ts
+++ b/smp-angular/src/app/user-settings/user-access-tokens/user-access-tokens.component.ts
@@ -68,9 +68,12 @@ export class UserAccessTokensComponent implements AfterViewInit, BeforeLeaveGuar
         userAccessToken];
     }
 
+    // show current page after update if possible or previous page
+    let pageIndex = Math.min(this.paginator.pageIndex,
+      Math.floor(this.accessTokens.length / this.paginator.pageSize));
+    // set the data source
     this.dataSource.data = this.accessTokens;
-    // show the last page
-    this.paginator.lastPage();
+    this.paginator.pageIndex = pageIndex;
   }
 
   public trackListItem(index: number, credential: CredentialRo) {
diff --git a/smp-angular/src/app/user-settings/user-certificates/user-certificates.component.ts b/smp-angular/src/app/user-settings/user-certificates/user-certificates.component.ts
index 694b7c37004193bf51430878e777a3e6aa1dbd6d..c375ab987e23268259a5374f34e7da77c38191fa 100644
--- a/smp-angular/src/app/user-settings/user-certificates/user-certificates.component.ts
+++ b/smp-angular/src/app/user-settings/user-certificates/user-certificates.component.ts
@@ -73,8 +73,13 @@ export class UserCertificatesComponent implements AfterViewInit, BeforeLeaveGuar
         certificate];
     }
 
+    // show current page after update if possible or previous page
+    let pageIndex = Math.min(this.paginator.pageIndex,
+      Math.floor(this.certificates.length / this.paginator.pageSize));
+    // set data
     this.dataSource.data = this.certificates;
-    // show the last page
+    // set page
+    this.paginator.pageIndex = pageIndex;
     this.paginator.lastPage();
   }