diff --git a/src/session_nub.ts b/src/session_nub.ts
index fb9a96d36282d79890ee6bb5170fb025673948f2..781bd7ec1eee7b6771cebc3ad066b2e43cec8c29 100644
--- a/src/session_nub.ts
+++ b/src/session_nub.ts
@@ -14,7 +14,7 @@ export class Props implements IObservable {
 
     public hasProperties(props: Props | {}): boolean {
         const keys = Object.keys(this._props);
-        const p = props instanceof Props ? props.props : props;
+        const p = props instanceof Props ? props._props : props;
 
         // if (keys.length != Object.keys(p).length)
         //     return false;
@@ -97,12 +97,15 @@ export class Props implements IObservable {
      */
     public setProps(props: {}, sender?: any) {
         if (props instanceof Props)
-            var p = props.props;
+            var p = props._props;
         else
             p = props;
         const changed = this.compareObjects(this._props, p);
         if (changed) {
-            this._props = p;
+            this._props = {};
+            for (const k in p)
+                this._props[k] = p[k];
+
             this.notifyPropsChange(sender);
         }
     }
@@ -123,7 +126,7 @@ export class Props implements IObservable {
         for (const k in this._props) {
             if (res != "[")
                 res += ", ";
-            res += `${k}:${this.props[k]}`;
+            res += `${k}:${this._props[k]}`;
         }
         res += "]"
         return res;