diff --git a/js/scripts/JSRootPainter.v6.js b/js/scripts/JSRootPainter.v6.js
index b0720a4e88a735e20134a558cc9d17954db98867..ca1c08242f778fa3274dade2bac6c380967e9616 100644
--- a/js/scripts/JSRootPainter.v6.js
+++ b/js/scripts/JSRootPainter.v6.js
@@ -4620,12 +4620,12 @@
       this._websocket.Connect();
    }
 
-   TCanvasPainter.prototype.UseWebsocket = function(handle) {
+   TCanvasPainter.prototype.UseWebsocket = function(handle, href) {
       this.CloseWebsocket();
 
       this._websocket = handle;
       this._websocket.SetReceiver(this);
-      this._websocket.Connect();
+      this._websocket.Connect(href);
    }
 
    TCanvasPainter.prototype.OnWebsocketOpened = function(handle) {
diff --git a/js/scripts/JSRootPainter.v7.js b/js/scripts/JSRootPainter.v7.js
index 0231dbc12bf3a03d9a07019367f59ff83e4b8e76..3c71cd8be92b531167836ea76fcb54464b59d399 100644
--- a/js/scripts/JSRootPainter.v7.js
+++ b/js/scripts/JSRootPainter.v7.js
@@ -4112,13 +4112,13 @@
       this._websocket.Connect();
    }
 
-   TCanvasPainter.prototype.UseWebsocket = function(handle) {
+   TCanvasPainter.prototype.UseWebsocket = function(handle, href) {
       this.CloseWebsocket();
 
       this._websocket = handle;
       console.log('Use websocket', this._websocket.key);
       this._websocket.SetReceiver(this);
-      this._websocket.Connect();
+      this._websocket.Connect(href);
    }
 
    TCanvasPainter.prototype.WindowBeforeUnloadHanlder = function() {
diff --git a/ui5/canv/controller/Canvas.controller.js b/ui5/canv/controller/Canvas.controller.js
index d577d4d35f2add6c69323066bb4545b149ce60d5..167a6806f4da926f93be9bbf056d5136f206a0cc 100644
--- a/ui5/canv/controller/Canvas.controller.js
+++ b/ui5/canv/controller/Canvas.controller.js
@@ -3,7 +3,7 @@ sap.ui.define([
    'sap/ui/core/mvc/Controller',
    'sap/ui/core/Component',
    'sap/ui/model/json/JSONModel',
-   "sap/ui/core/mvc/XMLView",
+   'sap/ui/core/mvc/XMLView',
    'sap/ui/core/Fragment',
    'sap/m/MessageToast',
    'sap/m/Dialog',
@@ -31,8 +31,11 @@ sap.ui.define([
          var model = new JSONModel({ GedIcon: "", StatusIcon: "", ToolbarIcon: "", TooltipIcon: "sap-icon://accept",
                                      StatusLbl1:"", StatusLbl2:"", StatusLbl3:"", StatusLbl4:"" });
          this.getView().setModel(model);
+         
+         var vd = this.getView().getViewData();
+         var cp = vd ? vd.canvas_painter : null;
 
-         var cp = Component.getOwnerComponentFor(this.getView()).getComponentData().canvas_painter;
+         if (!cp) cp = Component.getOwnerComponentFor(this.getView()).getComponentData().canvas_painter;
 
          if (cp) {
 
diff --git a/ui5/canv/controller/CanvasPanel.controller.js b/ui5/canv/controller/CanvasPanel.controller.js
index 706ab484ebe6543943f6bd79bee0191245af4bbc..81f5fd5d190e5c1b6177335858f03bb869e88df2 100644
--- a/ui5/canv/controller/CanvasPanel.controller.js
+++ b/ui5/canv/controller/CanvasPanel.controller.js
@@ -20,7 +20,7 @@ sap.ui.define([
       onAfterRendering: function() {
          if (this.canvas_painter && this.canvas_painter._window_handle) {
             this.canvas_painter.SetDivId(this.getView().getDomRef(), -1);
-            this.canvas_painter.UseWebsocket(this.canvas_painter._window_handle);
+            this.canvas_painter.UseWebsocket(this.canvas_painter._window_handle, this.canvas_painter._window_handle_href);
             delete this.canvas_painter._window_handle;
          }
       },