diff --git a/timeseriesviewer/crosshair.py b/timeseriesviewer/crosshair.py
index 6824eaac5acd6d452e48f7d6dd0ffe25ddea9499..e6281c53d987d06eb1b1fdc00de1284f61cc0a77 100644
--- a/timeseriesviewer/crosshair.py
+++ b/timeseriesviewer/crosshair.py
@@ -413,14 +413,15 @@ class CrosshairWidget(QWidget, loadUI('crosshairwidget.ui')):
 
         assert isinstance(mapCanvas, QgsMapCanvas)
         # copy layers
-        canvas = self.w.mapCanvasItem.canvas
+        canvas = self.mapCanvas
         lyrs = mapCanvas.layers()
         canvas.setLayers(lyrs)
         canvas.setDestinationCrs(mapCanvas.mapSettings().destinationCrs())
         canvas.setExtent(mapCanvas.extent())
         canvas.setCenter(mapCanvas.center())
         canvas.setCanvasColor(mapCanvas.canvasColor())
-        self.w.refreshCrosshairPreview()
+        self.mapCanvasItem.setPosition(SpatialPoint.fromMapCanvasCenter(canvas))
+        self.refreshCrosshairPreview()