diff --git a/src/frontend/app/pad/pad.component.html b/src/frontend/app/pad/pad.component.html
index f6d209eb0fdf0afd4850ff7f09db16d6dbe7430b..7625ef5bdb8faa8dcdaa9570c4ecf40ac326e89d 100755
--- a/src/frontend/app/pad/pad.component.html
+++ b/src/frontend/app/pad/pad.component.html
@@ -36,7 +36,7 @@
     <ion-button color="danger" (click)="closePad()">
         <ion-label>{{'lang.cancel' | translate}}</ion-label>
     </ion-button>
-    <ion-button color="success" (click)="saveSignature()">
+    <ion-button color="success" (click)="saveSignature()" [disabled]="isSaving">
         <ion-label>{{'lang.save' | translate}}</ion-label>
     </ion-button>
 </ion-footer>
diff --git a/src/frontend/app/pad/pad.component.ts b/src/frontend/app/pad/pad.component.ts
index 0162ac856aaf494a8c5272dadf30354516c63338..941731191a97a0a9b17bb9405b33e954201cba88 100755
--- a/src/frontend/app/pad/pad.component.ts
+++ b/src/frontend/app/pad/pad.component.ts
@@ -1,11 +1,11 @@
 import { Component, ViewChild, Output, EventEmitter } from '@angular/core';
 import { SignaturePad } from 'angular2-signaturepad';
-import { Observable } from 'rxjs';
+import { Observable, of } from 'rxjs';
 import { SignaturesContentService } from '../service/signatures.service';
 import { HttpClient } from '@angular/common/http';
 import { NotificationService } from '../service/notification.service';
 import { TranslateService } from '@ngx-translate/core';
-import { finalize } from 'rxjs/operators';
+import { catchError, finalize, tap } from 'rxjs/operators';
 import { AuthService } from '../service/auth.service';
 import { LocalStorageService } from '../service/local-storage.service';
 import { ModalController } from '@ionic/angular';
@@ -28,6 +28,7 @@ export class SignaturePadPageComponent implements AfterViewInit {
     selectedColor: any;
     haveSigned: any;
     disableState = false;
+    isSaving: boolean = false;
 
     pad$: Observable<boolean>;
 
@@ -84,6 +85,7 @@ export class SignaturePadPageComponent implements AfterViewInit {
     saveSignature() {
         this.disableState = true;
         this.haveSigned = true;
+        this.isSaving = true;
         const newEncodedSign = this.signaturePad.toDataURL('image/png').replace('data:image/png;base64,', '');
         this.localStorage.save('signature', JSON.stringify(newEncodedSign));
 
@@ -96,21 +98,26 @@ export class SignaturePadPageComponent implements AfterViewInit {
 
         this.http.post('../rest/users/' + this.authService.user.id + '/signatures', newSign)
             .pipe(
+                tap((data: any) => {
+                    newSign.id = data.signatureId;
+                    this.signaturesService.signaturesList.unshift(
+                        {
+                            id: newSign.id,
+                            encodedSignature: newSign.encodedSignature
+                        }
+                    );
+                    this.modalController.dismiss('reload');
+                    this.notificationService.success('lang.signatureRegistered');
+                }),
                 finalize(() => {
                     this.disableState = false;
+                }),
+                catchError((err: any) => {
+                    this.notificationService.handleErrors(err);
+                    this.isSaving = false;
+                    return of(false);
                 })
-            )
-            .subscribe((data: any) => {
-                newSign.id = data.signatureId;
-                this.signaturesService.signaturesList.unshift(
-                    {
-                        id: newSign.id,
-                        encodedSignature: newSign.encodedSignature
-                    }
-                );
-                this.modalController.dismiss('reload');
-                this.notificationService.success('lang.signatureRegistered');
-            });
+            ).subscribe();
 
         // BUG IMAGE CROPPED
         // this.localStorage.save('signature', JSON.stringify(this.signaturePad.toDataURL('image/svg+xml')));
diff --git a/src/frontend/app/sidebar/sidebar.component.ts b/src/frontend/app/sidebar/sidebar.component.ts
index 65df2131da35d26f04c1cf6bd7cfdce4d7db9044..d3e74e04611fdafebb6a0bca9a8c3d68b8126fec 100755
--- a/src/frontend/app/sidebar/sidebar.component.ts
+++ b/src/frontend/app/sidebar/sidebar.component.ts
@@ -78,7 +78,8 @@ export class SidebarComponent implements OnInit, AfterViewInit {
     async openProfile() {
         const modal = await this.modalController.create({
             component: ProfileComponent,
-            cssClass: 'profileCss'
+            cssClass: 'profileCss',
+            backdropDismiss: false
         });
         await modal.present();
     }
diff --git a/src/frontend/core/global.scss b/src/frontend/core/global.scss
index 677133306eb77c355893dc27098657c69d8559eb..72561592efa13dcdcbb78e04156db9051a74a54d 100644
--- a/src/frontend/core/global.scss
+++ b/src/frontend/core/global.scss
@@ -92,8 +92,14 @@ input:read-only {
 }
 
 .profileCss {
-    --width: 40%;
-    --height: 65%;
+    @media screen and (min-width: 768px) and (min-height: 768px) {
+        --width: 56%;
+        --height: 600px
+    }
+    @media screen and (min-width: 768px) and (min-height: 600px) {
+        --width: 56%;
+        --height: 600px
+    }
 }
 
 .aboutUsCss {