diff --git a/android/src/main/java/cz/nic/tablexia/android/AndroidQRCodeScanner.java b/android/src/main/java/cz/nic/tablexia/android/AndroidQRCodeScanner.java
index 55775a88ea15ad4752dc40d19f092f416c648520..65fe2e88f9d4c4dd4940b88bc60ca3170b353ef6 100644
--- a/android/src/main/java/cz/nic/tablexia/android/AndroidQRCodeScanner.java
+++ b/android/src/main/java/cz/nic/tablexia/android/AndroidQRCodeScanner.java
@@ -36,7 +36,7 @@ public class AndroidQRCodeScanner extends QRCodeScanner implements Camera.Previe
 
     @Override
     public void onPreviewFrame(byte[] bytes, Camera camera) {
-        // TODO: 6.10.16 handle pause restore application or at least close camera view on pause 
+        // TODO: 14.10.16 Reduce size of scanning area 
         if (isScanningEnabled()) {
             int width = camera.getParameters().getPreviewSize().width;
             int height = camera.getParameters().getPreviewSize().height;
@@ -87,6 +87,7 @@ public class AndroidQRCodeScanner extends QRCodeScanner implements Camera.Previe
 
     @Override
     public void onCameraPreviewStarted() {
+        if (isCameraPreviewActive()) stopPreview();
         prepareCameraAsync();
 
         if (!cameraReady) {
@@ -104,7 +105,7 @@ public class AndroidQRCodeScanner extends QRCodeScanner implements Camera.Previe
     private synchronized void startPreviewAsync() {
         Runnable r = new Runnable() {
             public void run() {
-                preparePreview();
+                startPreview();
             }
         };
         activity.post(r);
@@ -141,7 +142,7 @@ public class AndroidQRCodeScanner extends QRCodeScanner implements Camera.Previe
         }
     }
 
-    private void preparePreview() {
+    private void startPreview() {
         if (cameraSurface != null && cameraSurface.getCamera() != null) {
             Log.debug(getClass().getSimpleName(), "startPreview");
             cameraSurface.getCamera().setPreviewCallback(this);
diff --git a/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java b/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java
index 58a574c9839cf2c8cd516ead6c4c2799e3ae76ad..07b1d8b5a57d8d6385a26c028b53e6afac2d45ae 100644
--- a/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java
+++ b/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java
@@ -308,9 +308,21 @@ public class LoaderScreen extends AbstractTablexiaScreen<Void> {
 
     @Override
     public void backButtonPressed() {
-        Gdx.app.exit();
+        if (Tablexia.hasQRCodeScanner() && Tablexia.getQRCodeScanner().isCameraPreviewActive()) {
+            Tablexia.getQRCodeScanner().stopCameraPreview();   
+        }else {
+            Gdx.app.exit();
+        }
     }
 
+    @Override
+    public void pause() {
+        super.pause();
+        if (Tablexia.hasQRCodeScanner() && Tablexia.getQRCodeScanner().isCameraPreviewActive()) {
+            Tablexia.getQRCodeScanner().stopCameraPreview();
+        }
+    }
+    
     public void prepareLoadingBar() {
         //Skin for LoadingBar
         LoadingBar.LoadingBarSkin skin = new LoadingBar.LoadingBarSkin(