diff --git a/Core/Bridge/TweetDeckBridge.cs b/Core/Bridge/TweetDeckBridge.cs
index e18b9735..277471b8 100644
--- a/Core/Bridge/TweetDeckBridge.cs
+++ b/Core/Bridge/TweetDeckBridge.cs
@@ -109,15 +109,7 @@ public void TryPasteImage(){
         }
 
         public void ClickUploadImage(int offsetX, int offsetY){
-            form.InvokeSafe(() => {
-                Point prevPos = Cursor.Position;
-
-                Cursor.Position = form.PointToScreen(new Point(offsetX, offsetY));
-                NativeMethods.SimulateMouseClick(NativeMethods.MouseButton.Left);
-                Cursor.Position = prevPos;
-
-                form.OnImagePastedFinish();
-            });
+            form.InvokeAsyncSafe(() => form.TriggerImageUpload(offsetX, offsetY));
         }
 
         public void ScreenshotTweet(string html, int width, int height){
diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs
index 69768366..4021fe0a 100644
--- a/Core/FormBrowser.cs
+++ b/Core/FormBrowser.cs
@@ -406,8 +406,10 @@ public void OnImagePasted(){
             browser.ExecuteScriptAsync("TDGF_tryPasteImage()");
         }
 
-        public void OnImagePastedFinish(){
-            browser.ExecuteScriptAsync("TDGF_tryPasteImageFinish()");
+        public void TriggerImageUpload(int offsetX, int offsetY){
+            IBrowserHost host = browser.GetBrowser().GetHost();
+            host.SendMouseClickEvent(offsetX, offsetY, MouseButtonType.Left, false, 1, CefEventFlags.None);
+            host.SendMouseClickEvent(offsetX, offsetY, MouseButtonType.Left, true, 1, CefEventFlags.None);
         }
 
         public void TriggerTweetScreenshot(){
diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js
index 837e2a9f..78c57377 100644
--- a/Resources/Scripts/code.js
+++ b/Resources/Scripts/code.js
@@ -344,6 +344,11 @@
     };
     
     var clickUpload = function(){
+      $(document).one("uiFilesAdded", function(){
+        getScroller().scrollTop(prevScrollTop);
+        $(".js-drawer").find(".js-compose-text").first()[0].focus();
+      });
+      
       var button = $(".js-add-image-button").first();
       
       var scroller = getScroller();
@@ -395,13 +400,6 @@
         lastPasteElement = null;
       }
     };
-    
-    window.TDGF_tryPasteImageFinish = function(){
-      setTimeout(function(){
-        getScroller().scrollTop(prevScrollTop);
-        $(".js-drawer").find(".js-compose-text").first()[0].focus();
-      }, 10);
-    };
   })();
   
   //