diff --git a/Configuration/UserConfig.cs b/Configuration/UserConfig.cs
index cb5efebb..f96273ce 100644
--- a/Configuration/UserConfig.cs
+++ b/Configuration/UserConfig.cs
@@ -43,13 +43,14 @@ static UserConfig(){
         public WindowState BrowserWindow { get; set; } = new WindowState();
         public WindowState PluginsWindow { get; set; } = new WindowState();
 
-        public bool ExpandLinksOnHover      { get; set; } = true;
-        public bool SwitchAccountSelectors  { get; set; } = true;
-        public bool OpenSearchInFirstColumn { get; set; } = true;
-        public bool BestImageQuality        { get; set; } = true;
-        public bool EnableAnimatedImages    { get; set; } = true;
-        public int VideoPlayerVolume        { get; set; } = 50;
-        private int _zoomLevel                            = 100;
+        public bool ExpandLinksOnHover        { get; set; } = true;
+        public bool SwitchAccountSelectors    { get; set; } = true;
+        public bool OpenSearchInFirstColumn   { get; set; } = true;
+        public bool KeepLikeFollowDialogsOpen { get; set; } = true;
+        public bool BestImageQuality          { get; set; } = true;
+        public bool EnableAnimatedImages      { get; set; } = true;
+        public int VideoPlayerVolume          { get; set; } = 50;
+        private int _zoomLevel                              = 100;
         private bool _muteNotifications;
         
         public bool EnableSpellCheck     { get; set; } = false;
diff --git a/Core/Bridge/PropertyBridge.cs b/Core/Bridge/PropertyBridge.cs
index 06604802..e43800c2 100644
--- a/Core/Bridge/PropertyBridge.cs
+++ b/Core/Bridge/PropertyBridge.cs
@@ -17,6 +17,7 @@ public static string GenerateScript(Environment environment){
             if (environment == Environment.Browser){
                 build.Append("x.switchAccountSelectors=").Append(Bool(Program.UserConfig.SwitchAccountSelectors));
                 build.Append("x.openSearchInFirstColumn=").Append(Bool(Program.UserConfig.OpenSearchInFirstColumn));
+                build.Append("x.keepLikeFollowDialogsOpen=").Append(Bool(Program.UserConfig.KeepLikeFollowDialogsOpen));
                 build.Append("x.muteNotifications=").Append(Bool(Program.UserConfig.MuteNotifications));
                 build.Append("x.hasCustomNotificationSound=").Append(Bool(Program.UserConfig.NotificationSoundPath.Length > 0));
                 build.Append("x.notificationMediaPreviews=").Append(Bool(Program.UserConfig.NotificationMediaPreviews));
diff --git a/Core/Other/Settings/TabSettingsGeneral.Designer.cs b/Core/Other/Settings/TabSettingsGeneral.Designer.cs
index 03c4661b..e00dc1ef 100644
--- a/Core/Other/Settings/TabSettingsGeneral.Designer.cs
+++ b/Core/Other/Settings/TabSettingsGeneral.Designer.cs
@@ -40,6 +40,7 @@ private void InitializeComponent() {
             this.checkAnimatedAvatars = new System.Windows.Forms.CheckBox();
             this.labelUpdates = new System.Windows.Forms.Label();
             this.flowPanel = new System.Windows.Forms.FlowLayoutPanel();
+            this.checkKeepLikeFollowDialogsOpen = new System.Windows.Forms.CheckBox();
             ((System.ComponentModel.ISupportInitialize)(this.trackBarZoom)).BeginInit();
             this.panelZoom.SuspendLayout();
             this.flowPanel.SuspendLayout();
@@ -59,7 +60,7 @@ private void InitializeComponent() {
             // checkUpdateNotifications
             // 
             this.checkUpdateNotifications.AutoSize = true;
-            this.checkUpdateNotifications.Location = new System.Drawing.Point(6, 245);
+            this.checkUpdateNotifications.Location = new System.Drawing.Point(6, 268);
             this.checkUpdateNotifications.Margin = new System.Windows.Forms.Padding(6, 6, 3, 3);
             this.checkUpdateNotifications.Name = "checkUpdateNotifications";
             this.checkUpdateNotifications.Size = new System.Drawing.Size(165, 17);
@@ -69,7 +70,7 @@ private void InitializeComponent() {
             // 
             // btnCheckUpdates
             // 
-            this.btnCheckUpdates.Location = new System.Drawing.Point(5, 268);
+            this.btnCheckUpdates.Location = new System.Drawing.Point(5, 291);
             this.btnCheckUpdates.Margin = new System.Windows.Forms.Padding(5, 3, 3, 3);
             this.btnCheckUpdates.Name = "btnCheckUpdates";
             this.btnCheckUpdates.Size = new System.Drawing.Size(144, 23);
@@ -102,7 +103,7 @@ private void InitializeComponent() {
             // checkBestImageQuality
             // 
             this.checkBestImageQuality.AutoSize = true;
-            this.checkBestImageQuality.Location = new System.Drawing.Point(6, 95);
+            this.checkBestImageQuality.Location = new System.Drawing.Point(6, 118);
             this.checkBestImageQuality.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
             this.checkBestImageQuality.Name = "checkBestImageQuality";
             this.checkBestImageQuality.Size = new System.Drawing.Size(114, 17);
@@ -139,7 +140,7 @@ private void InitializeComponent() {
             // labelZoom
             // 
             this.labelZoom.AutoSize = true;
-            this.labelZoom.Location = new System.Drawing.Point(3, 150);
+            this.labelZoom.Location = new System.Drawing.Point(3, 173);
             this.labelZoom.Margin = new System.Windows.Forms.Padding(3, 12, 3, 0);
             this.labelZoom.Name = "labelZoom";
             this.labelZoom.Size = new System.Drawing.Size(34, 13);
@@ -167,7 +168,7 @@ private void InitializeComponent() {
             this.panelZoom.Anchor = System.Windows.Forms.AnchorStyles.Top;
             this.panelZoom.Controls.Add(this.trackBarZoom);
             this.panelZoom.Controls.Add(this.labelZoomValue);
-            this.panelZoom.Location = new System.Drawing.Point(0, 163);
+            this.panelZoom.Location = new System.Drawing.Point(0, 186);
             this.panelZoom.Margin = new System.Windows.Forms.Padding(0);
             this.panelZoom.Name = "panelZoom";
             this.panelZoom.Size = new System.Drawing.Size(322, 36);
@@ -176,7 +177,7 @@ private void InitializeComponent() {
             // checkAnimatedAvatars
             // 
             this.checkAnimatedAvatars.AutoSize = true;
-            this.checkAnimatedAvatars.Location = new System.Drawing.Point(6, 118);
+            this.checkAnimatedAvatars.Location = new System.Drawing.Point(6, 141);
             this.checkAnimatedAvatars.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
             this.checkAnimatedAvatars.Name = "checkAnimatedAvatars";
             this.checkAnimatedAvatars.Size = new System.Drawing.Size(145, 17);
@@ -188,7 +189,7 @@ private void InitializeComponent() {
             // 
             this.labelUpdates.AutoSize = true;
             this.labelUpdates.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
-            this.labelUpdates.Location = new System.Drawing.Point(0, 219);
+            this.labelUpdates.Location = new System.Drawing.Point(0, 242);
             this.labelUpdates.Margin = new System.Windows.Forms.Padding(0, 20, 0, 0);
             this.labelUpdates.Name = "labelUpdates";
             this.labelUpdates.Size = new System.Drawing.Size(70, 20);
@@ -204,6 +205,7 @@ private void InitializeComponent() {
             this.flowPanel.Controls.Add(this.checkExpandLinks);
             this.flowPanel.Controls.Add(this.checkSwitchAccountSelectors);
             this.flowPanel.Controls.Add(this.checkOpenSearchInFirstColumn);
+            this.flowPanel.Controls.Add(this.checkKeepLikeFollowDialogsOpen);
             this.flowPanel.Controls.Add(this.checkBestImageQuality);
             this.flowPanel.Controls.Add(this.checkAnimatedAvatars);
             this.flowPanel.Controls.Add(this.labelZoom);
@@ -214,17 +216,28 @@ private void InitializeComponent() {
             this.flowPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
             this.flowPanel.Location = new System.Drawing.Point(9, 9);
             this.flowPanel.Name = "flowPanel";
-            this.flowPanel.Size = new System.Drawing.Size(322, 296);
+            this.flowPanel.Size = new System.Drawing.Size(322, 319);
             this.flowPanel.TabIndex = 4;
             this.flowPanel.WrapContents = false;
             // 
+            // checkKeepLikeFollowDialogsOpen
+            // 
+            this.checkKeepLikeFollowDialogsOpen.AutoSize = true;
+            this.checkKeepLikeFollowDialogsOpen.Location = new System.Drawing.Point(6, 95);
+            this.checkKeepLikeFollowDialogsOpen.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
+            this.checkKeepLikeFollowDialogsOpen.Name = "checkKeepLikeFollowDialogsOpen";
+            this.checkKeepLikeFollowDialogsOpen.Size = new System.Drawing.Size(176, 17);
+            this.checkKeepLikeFollowDialogsOpen.TabIndex = 7;
+            this.checkKeepLikeFollowDialogsOpen.Text = "Keep Like/Follow Dialogs Open";
+            this.checkKeepLikeFollowDialogsOpen.UseVisualStyleBackColor = true;
+            // 
             // TabSettingsGeneral
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.Controls.Add(this.flowPanel);
             this.Name = "TabSettingsGeneral";
-            this.Size = new System.Drawing.Size(340, 314);
+            this.Size = new System.Drawing.Size(340, 337);
             ((System.ComponentModel.ISupportInitialize)(this.trackBarZoom)).EndInit();
             this.panelZoom.ResumeLayout(false);
             this.flowPanel.ResumeLayout(false);
@@ -251,5 +264,6 @@ private void InitializeComponent() {
         private System.Windows.Forms.CheckBox checkOpenSearchInFirstColumn;
         private System.Windows.Forms.CheckBox checkAnimatedAvatars;
         private System.Windows.Forms.FlowLayoutPanel flowPanel;
+        private System.Windows.Forms.CheckBox checkKeepLikeFollowDialogsOpen;
     }
 }
diff --git a/Core/Other/Settings/TabSettingsGeneral.cs b/Core/Other/Settings/TabSettingsGeneral.cs
index c2d40b56..2945fcc4 100644
--- a/Core/Other/Settings/TabSettingsGeneral.cs
+++ b/Core/Other/Settings/TabSettingsGeneral.cs
@@ -21,6 +21,7 @@ public TabSettingsGeneral(FormBrowser browser, UpdateHandler updates){
             toolTip.SetToolTip(checkExpandLinks, "Expands links inside the tweets. If disabled,\r\nthe full links show up in a tooltip instead.");
             toolTip.SetToolTip(checkSwitchAccountSelectors, "When (re)tweeting, click to select a single account or hold Shift to\r\nselect multiple accounts, instead of TweetDeck\'s default behavior.");
             toolTip.SetToolTip(checkOpenSearchInFirstColumn, "By default, TweetDeck adds Search columns at the end.\r\nThis option makes them appear before the first column instead.");
+            toolTip.SetToolTip(checkKeepLikeFollowDialogsOpen, "Allows liking and following from multiple accounts at once,\r\ninstead of automatically closing the dialog after taking an action.");
             toolTip.SetToolTip(checkBestImageQuality, "When right-clicking a tweet image, the context menu options\r\nwill use links to the original image size (:orig in the URL).");
             toolTip.SetToolTip(checkAnimatedAvatars, "Some old Twitter avatars could be uploaded as animated GIFs.");
 
@@ -36,6 +37,7 @@ public TabSettingsGeneral(FormBrowser browser, UpdateHandler updates){
             checkExpandLinks.Checked = Config.ExpandLinksOnHover;
             checkSwitchAccountSelectors.Checked = Config.SwitchAccountSelectors;
             checkOpenSearchInFirstColumn.Checked = Config.OpenSearchInFirstColumn;
+            checkKeepLikeFollowDialogsOpen.Checked = Config.KeepLikeFollowDialogsOpen;
             checkBestImageQuality.Checked = Config.BestImageQuality;
             checkAnimatedAvatars.Checked = Config.EnableAnimatedImages;
 
@@ -46,6 +48,7 @@ public override void OnReady(){
             checkExpandLinks.CheckedChanged += checkExpandLinks_CheckedChanged;
             checkSwitchAccountSelectors.CheckedChanged += checkSwitchAccountSelectors_CheckedChanged;
             checkOpenSearchInFirstColumn.CheckedChanged += checkOpenSearchInFirstColumn_CheckedChanged;
+            checkKeepLikeFollowDialogsOpen.CheckedChanged += checkKeepLikeFollowDialogsOpen_CheckedChanged;
             checkBestImageQuality.CheckedChanged += checkBestImageQuality_CheckedChanged;
             checkAnimatedAvatars.CheckedChanged += checkAnimatedAvatars_CheckedChanged;
             trackBarZoom.ValueChanged += trackBarZoom_ValueChanged;
@@ -70,6 +73,10 @@ private void checkOpenSearchInFirstColumn_CheckedChanged(object sender, EventArg
             Config.OpenSearchInFirstColumn = checkOpenSearchInFirstColumn.Checked;
         }
 
+        private void checkKeepLikeFollowDialogsOpen_CheckedChanged(object sender, EventArgs e){
+            Config.KeepLikeFollowDialogsOpen = checkKeepLikeFollowDialogsOpen.Checked;
+        }
+
         private void checkBestImageQuality_CheckedChanged(object sender, EventArgs e){
             Config.BestImageQuality = checkBestImageQuality.Checked;
         }
diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js
index 60544b64..3352a143 100644
--- a/Resources/Scripts/code.js
+++ b/Resources/Scripts/code.js
@@ -1164,6 +1164,17 @@
     }));
   };
   
+  //
+  // Block: Revert Like/Follow dialogs being closed after clicking an action.
+  //
+  if (ensurePropertyExists(TD, "decider", "get")){
+    const prevFunc = TD.decider.get;
+    
+    TD.decider.get = function(key){
+      return $TDX.keepLikeFollowDialogsOpen && key.startsWith("tweetdeck_subsequent_") ? false : prevFunc.apply(this, arguments);
+    };
+  }
+  
   //
   // Block: Fix DM reply input box not getting focused after opening a conversation.
   //