diff --git a/android/src/main/java/cz/nic/tablexia/android/camera/AndroidDeviceCameraController.java b/android/src/main/java/cz/nic/tablexia/android/camera/AndroidDeviceCameraController.java
index ce986b56cab58723fbfefd056ff97638f1bbf786..bfd646e007c87b24797d4647b62354222c0c88cf 100644
--- a/android/src/main/java/cz/nic/tablexia/android/camera/AndroidDeviceCameraController.java
+++ b/android/src/main/java/cz/nic/tablexia/android/camera/AndroidDeviceCameraController.java
@@ -10,8 +10,6 @@ import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 import android.view.ViewParent;
 
-import com.badlogic.gdx.Gdx;
-
 import cz.nic.tablexia.android.AndroidLauncher;
 import cz.nic.tablexia.util.Log;
 import cz.nic.tablexia.util.camera.CameraCallback;
@@ -32,8 +30,6 @@ public class AndroidDeviceCameraController implements DeviceCameraControl, Camer
     
     private boolean previewReady = false;
     
-    int mWidth, mHeight, mLeft, mTop, mAreaWidth, mAreaHeight;
-
     private class ScreenOrientationListener extends OrientationEventListener {
 
         public ScreenOrientationListener(Context context, int rate) {
@@ -80,7 +76,6 @@ public class AndroidDeviceCameraController implements DeviceCameraControl, Camer
             cameraSurface.getCamera().startPreview();
             screenOrientationListener.enable();
             previewReady = true;
-            setArea();
         } else {
             prepareCamera();
         }
@@ -168,17 +163,8 @@ public class AndroidDeviceCameraController implements DeviceCameraControl, Camer
     @Override
     public void onPreviewFrame(byte[] bytes, Camera camera) {
         if (cameraCallback != null && !cameraCallback.hasDataToProceed()) {
-            cameraCallback.scanPreviewData(bytes);
+            cameraCallback.scanPreviewData(bytes, getPreviewWidth(), getPreviewHeight());
         }
     }
     
-    public void setArea() {
-        // TODO: 10.3.16 set size to fit new texture 
-        mWidth = Gdx.graphics.getWidth();
-        mHeight = Gdx.graphics.getHeight();
-        mLeft = mWidth / 4;
-        mTop = mHeight / 4;
-        mAreaHeight = mHeight / 2;
-        mAreaWidth = mWidth / 2;
-    }
 }
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java b/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java
index 93d3c6ebdeaefc5bf2ae5e5e26b31e20a155e05d..686fc983fc1d3ff6450c17adfd5082ae1924352d 100644
--- a/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java
+++ b/core/src/cz/nic/tablexia/screen/camera/CameraScreen.java
@@ -1,7 +1,6 @@
 package cz.nic.tablexia.screen.camera;
 
 import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.graphics.Color;
 import com.badlogic.gdx.graphics.GL20;
 import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
@@ -24,21 +23,11 @@ import cz.nic.tablexia.bus.ApplicationBus;
 import cz.nic.tablexia.loader.application.ApplicationTextManager;
 import cz.nic.tablexia.menu.user.UserMenu;
 import cz.nic.tablexia.screen.AbstractTablexiaScreen;
-import cz.nic.tablexia.shared.model.User;
-import cz.nic.tablexia.sync.RestSynchronizationService;
-import cz.nic.tablexia.sync.work.DownloadUser;
-import cz.nic.tablexia.sync.work.SyncWork;
 import cz.nic.tablexia.util.Log;
 import cz.nic.tablexia.util.camera.CameraCallback;
 import cz.nic.tablexia.util.camera.DeviceCameraControl;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialogFactory;
-import cz.nic.tablexia.util.ui.dialog.components.BackButtonHideComponent;
-import cz.nic.tablexia.util.ui.dialog.components.CenterPositionDialogComponent;
-import cz.nic.tablexia.util.ui.dialog.components.CloseButtonContentDialogComponent;
-import cz.nic.tablexia.util.ui.dialog.components.FixedSpaceContentDialogComponent;
-import cz.nic.tablexia.util.ui.dialog.components.ResizableSpaceContentDialogComponent;
-import cz.nic.tablexia.util.ui.dialog.components.TextContentDialogComponent;
 
 /**
  * Created by Vitaliy Vashchenko on 7.3.16.
@@ -66,13 +55,13 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera
     public enum Mode {
         prepare,
         preview,
-        done;
+        done
     }
 
     @Override
-    public void scanPreviewData(byte[] data) {
+    public void scanPreviewData(byte[] data, int width, int height) {
         hasData = true;
-        setArea();
+        setArea(width, height);
         LuminanceSource source = new PlanarYUVLuminanceSource(data, width, height, left, top, innerWidth, innerHeight, false);  //set searching area in the middle of the screen
         BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
         Result result;
@@ -155,7 +144,6 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera
                 if (deviceCameraControl.isPreviewReady()) {
                     Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
                     Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
-                    drawRectangle();
                 }
                 break;
             case prepare:
@@ -186,14 +174,6 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera
                     public void clicked(InputEvent event, float x, float y) {
                         super.clicked(event, x, y);
                         Log.debug(getClass(), "Decoded: "+ decodedData);
-                        DownloadUser syncWork = new DownloadUser(decodedData);
-                        syncWork.registerListener(new SyncWork.RestSyncListener() {
-                            @Override
-                            public void onSuccess(User user) {
-                                ApplicationBus.getInstance().post(new UserMenu.RefreshUserMenu()).asynchronously();
-                            }
-                        });
-                        RestSynchronizationService.doSyncWork(syncWork);
                         backToMenu();
                     }
                 },
@@ -203,46 +183,10 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera
                         super.clicked(event, x, y);
                         resetState();
                     }
-                });
+                }); 
         dialog.show(DIALOG_WIDTH, DIALOG_HEIGHT);
     }
 
-    private void syncUser(String userId) {
-        DownloadUser syncWork = new DownloadUser(userId);
-        syncWork.registerListener(new SyncWork.RestSyncListener() {
-            @Override
-            public void onSuccess(User user) {
-                ApplicationBus.getInstance().post(new UserMenu.RefreshUserMenu()).asynchronously();
-                ApplicationBus.getInstance().post(new Tablexia.ChangeScreenEvent(CameraScreen.class, TablexiaApplication.ScreenTransaction.FADE)).asynchronously();
-            }
-
-            @Override
-            public void onFailure(Throwable t) {
-                TablexiaComponentDialogFactory.getInstance().createDialog(
-                        // TODO: 11.3.16 repeat cancel dialog 
-                        new CenterPositionDialogComponent(),
-                        new TextContentDialogComponent(ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.SYNC_REQUEST_ERROR_DIALOG_TEXT)),
-                        new ResizableSpaceContentDialogComponent(),
-                        new CloseButtonContentDialogComponent(ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.SYSTEM_EXIT)),
-                        new FixedSpaceContentDialogComponent(),
-                        new BackButtonHideComponent()
-                ).show(DIALOG_WIDTH, DIALOG_HEIGHT);
-
-                super.onFailure(t);
-
-            }
-        });
-        RestSynchronizationService.doSyncWork(syncWork);
-    }
-
-    private void drawRectangle() {
-        setArea();
-        shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
-        shapeRenderer.setColor(Color.RED);
-        shapeRenderer.rect(left, top, innerWidth, innerHeight);
-        shapeRenderer.end();
-    }
-    
     private void resetState(){
         hasData = false;
         decodedData = null;
@@ -251,14 +195,14 @@ public class CameraScreen extends AbstractTablexiaScreen<Void> implements Camera
         mode = Mode.prepare;
     }
 
-    private void setArea() {
+    private void setArea(int width, int height) {
         if (!sizeIsSet) {
-            width = Gdx.graphics.getWidth();
-            height = Gdx.graphics.getHeight();
-            innerWidth = width / 3;
-            innerHeight = height / 2;
-            left = width / 3;
-            top = height / 4;
+            this.width = width;
+            this.height = height;
+            innerWidth = width/2;
+            innerHeight = height/2;
+            left = width/4;
+            top = height/4;
             sizeIsSet = true;
         }
     }
diff --git a/core/src/cz/nic/tablexia/util/camera/CameraCallback.java b/core/src/cz/nic/tablexia/util/camera/CameraCallback.java
index 132a78800a6d7326b7203c11a95b2d8c32c3eba2..078fd0e01cf8e255e07ed988f5aa42267070b70a 100644
--- a/core/src/cz/nic/tablexia/util/camera/CameraCallback.java
+++ b/core/src/cz/nic/tablexia/util/camera/CameraCallback.java
@@ -4,7 +4,7 @@ package cz.nic.tablexia.util.camera;
  * Created by Vitaliy Vashchenko on 15.3.16.
  */
 public interface CameraCallback {
-    void scanPreviewData(byte[] data);
+    void scanPreviewData(byte[] data, int width, int height);
     boolean scanFinished();
     boolean hasDataToProceed();
 }