diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index b618bb6..7fe2740 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -439,6 +439,20 @@ const WindowOverlay = new Lang.Class({
         this._updateCaptionId = metaWindow.connect('notify::title',
             Lang.bind(this, function(w) {
                 this.title.text = w.title;
+                 
+                let helpTitle = new St.Label({ style_class: 'window-caption',
+                                   text: w.title });
+
+                parentActor.add_actor(helpTitle);
+                this.title.fullWidth = helpTitle.get_width();
+                parentActor.remove_actor(helpTitle);
+
+                let clone = this._windowClone;
+                let [cloneX, cloneY] = clone.actor.get_position();
+                let [cloneWidth, cloneHeight] = clone.actor.get_size();
+                cloneWidth *= clone.actor.scale_x;
+                cloneHeight *= clone.actor.scale_y;
+                this._updateTitlePosition(cloneX, cloneY, cloneWidth, cloneHeight, false);
             }));
 
         let button = new St.Button({ style_class: 'window-close' });
@@ -546,6 +560,12 @@ const WindowOverlay = new Lang.Class({
         else
             button.set_position(Math.floor(buttonX), Math.floor(buttonY));
 
+        this._updateTitlePosition(cloneX, cloneY, cloneWidth, cloneHeight, animate);
+    },
+
+    _updateTitlePosition: function(cloneX, cloneY, cloneWidth, cloneHeight, animate) {
+        let title = this.title;
+
         if (!title.fullWidth)
             title.fullWidth = title.width;
         let titleWidth = Math.min(title.fullWidth, cloneWidth);
