diff --git a/packages/qr-code-scanner/src/i18n/de/translation.json b/packages/qr-code-scanner/src/i18n/de/translation.json
index 8bc69df6c3cb071f35643ccdcc268a462119c660..1f1257e75ed18bdcac82474e2595da61549645a6 100644
--- a/packages/qr-code-scanner/src/i18n/de/translation.json
+++ b/packages/qr-code-scanner/src/i18n/de/translation.json
@@ -7,5 +7,7 @@
   "data": "Inhalt",
   "camera": "Kamera ",
   "front-camera": "Vordere Kamera",
-  "back-camera": "Rückseitige Kamera"
+  "back-camera": "Rückseitige Kamera",
+  "start-scan": "Scannen starten",
+  "stop-scan": "Scannen stoppen"
 }
diff --git a/packages/qr-code-scanner/src/i18n/en/translation.json b/packages/qr-code-scanner/src/i18n/en/translation.json
index a5e8a38078be45d8210ffdd10218e2ae50b708ee..cb0d6e73890f4367bff8f5774a52f58df8a81d31 100644
--- a/packages/qr-code-scanner/src/i18n/en/translation.json
+++ b/packages/qr-code-scanner/src/i18n/en/translation.json
@@ -7,5 +7,7 @@
   "data": "Data",
   "camera": "Camera",
   "front-camera": "Frontcamera",
-  "back-camera": "Backcamera"
+  "back-camera": "Backcamera",
+  "start-scan": "Start scan",
+  "stop-scan": "Stop scan"
 }
diff --git a/packages/qr-code-scanner/src/qr-code-scanner.js b/packages/qr-code-scanner/src/qr-code-scanner.js
index e062c77883abf883c1620c3fc6192cd2a06284ea..f8507e94971bd735ad2829a6407f86c24ddab7c9 100644
--- a/packages/qr-code-scanner/src/qr-code-scanner.js
+++ b/packages/qr-code-scanner/src/qr-code-scanner.js
@@ -61,7 +61,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
             let devices_map = new Map();
 
             const that = this;
-
+            let counter = 0;
 
             if (navigator.mediaDevices
                 && navigator.mediaDevices.enumerateDevices
@@ -75,8 +75,12 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
                             if (device.kind === 'videoinput') {
                                 let id = device.deviceId;
                                 if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
-                                    devices_map.set('environment', i18n.t('back-camera'));
-                                    devices_map.set('user', i18n.t('front-camera'));
+                                    if (counter === 0) {
+                                        devices_map.set('environment', i18n.t('back-camera'));
+                                        counter = 1;
+                                    } else {
+                                        devices_map.set('user', i18n.t('front-camera'));
+                                    }
                                 } else {
                                     devices_map.set(id ? id : true, device.label || i18n.t('camera') + (devices_map.size + 1));
                                 }
@@ -318,8 +322,8 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
                     <div class="${classMap({hidden: this.notSupported})}">
                     
                         <div class="button-wrapper">
-                            <button class="start button is-primary ${classMap({hidden: this.videoRunning})}" @click="${() => this.qrCodeScannerInit()}">start scanning</button>
-                            <button class="stop button is-primary ${classMap({hidden: !this.videoRunning})}" @click="${() => this.stopScanning()}">stop scanning</button>
+                            <button class="start button is-primary ${classMap({hidden: this.videoRunning})}" @click="${() => this.qrCodeScannerInit()}" title="${i18n.t('start-scan')}">${i18n.t('start-scan')}</button>
+                            <button class="stop button is-primary ${classMap({hidden: !this.videoRunning})}" @click="${() => this.stopScanning()}" title="${i18n.t('stop-scan')}">${i18n.t('stop-scan')}</button>
                             
                             <select id="videoSource"></select>