diff --git a/Configuration/UserConfig.cs b/Configuration/UserConfig.cs
index a85049df..6bdc0533 100644
--- a/Configuration/UserConfig.cs
+++ b/Configuration/UserConfig.cs
@@ -14,7 +14,7 @@ namespace TweetDck.Configuration{
     sealed class UserConfig{
         private static readonly IFormatter Formatter = new BinaryFormatter();
 
-        private const int CurrentFileVersion = 8;
+        private const int CurrentFileVersion = 9;
 
         // START OF CONFIGURATION
 
@@ -34,6 +34,7 @@ sealed class UserConfig{
 
         public bool EnableSpellCheck { get; set; }
         public bool ExpandLinksOnHover { get; set; }
+        public bool SwitchAccountSelectors { get; set; }
         public bool EnableTrayHighlight { get; set; }
 
         public bool EnableUpdateCheck { get; set; }
@@ -121,6 +122,7 @@ private UserConfig(string file){
             NotificationDurationValue = 25;
             EnableUpdateCheck = true;
             ExpandLinksOnHover = true;
+            SwitchAccountSelectors = true;
             EnableTrayHighlight = true;
             PluginsWindow = new WindowState();
         }
@@ -172,6 +174,11 @@ private void UpgradeFile(){
                 ++fileVersion;
             }
 
+            if (fileVersion == 8){
+                SwitchAccountSelectors = true;
+                ++fileVersion;
+            }
+
             // update the version
             fileVersion = CurrentFileVersion;
             Save();
diff --git a/Core/Bridge/PropertyBridge.cs b/Core/Bridge/PropertyBridge.cs
index 910725d3..5510d41f 100644
--- a/Core/Bridge/PropertyBridge.cs
+++ b/Core/Bridge/PropertyBridge.cs
@@ -9,7 +9,8 @@ public enum Properties{
             MuteNotifications = 2,
             HasCustomNotificationSound = 4,
             SkipOnLinkClick = 8,
-            AllBrowser = ExpandLinksOnHover | MuteNotifications | HasCustomNotificationSound,
+            SwitchAccountSelectors = 16,
+            AllBrowser = ExpandLinksOnHover | SwitchAccountSelectors | MuteNotifications | HasCustomNotificationSound,
             AllNotification = ExpandLinksOnHover | SkipOnLinkClick
         }
 
@@ -21,6 +22,10 @@ public static string GenerateScript(Properties properties){
                 build.Append("c.expandLinksOnHover=").Append(Program.UserConfig.ExpandLinksOnHover ? "true;" : "false;");
             }
 
+            if (properties.HasFlag(Properties.SwitchAccountSelectors)){
+                build.Append("c.switchAccountSelectors=").Append(Program.UserConfig.SwitchAccountSelectors ? "true;" : "false;");
+            }
+
             if (properties.HasFlag(Properties.MuteNotifications)){
                 build.Append("c.muteNotifications=").Append(Program.UserConfig.MuteNotifications ? "true;" : "false;");
             }
diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs
index 87b2a790..fd09572a 100644
--- a/Core/FormBrowser.cs
+++ b/Core/FormBrowser.cs
@@ -392,7 +392,7 @@ public void OpenSettings(int tabIndex){
                         trayIcon.HasNotifications = false;
                     }
 
-                    UpdateProperties(PropertyBridge.Properties.ExpandLinksOnHover | PropertyBridge.Properties.HasCustomNotificationSound);
+                    UpdateProperties(PropertyBridge.Properties.ExpandLinksOnHover | PropertyBridge.Properties.SwitchAccountSelectors | PropertyBridge.Properties.HasCustomNotificationSound);
                     form.Dispose();
                 };
 
diff --git a/Core/Other/Settings/TabSettingsGeneral.Designer.cs b/Core/Other/Settings/TabSettingsGeneral.Designer.cs
index abc1932d..42412bfe 100644
--- a/Core/Other/Settings/TabSettingsGeneral.Designer.cs
+++ b/Core/Other/Settings/TabSettingsGeneral.Designer.cs
@@ -31,10 +31,11 @@ private void InitializeComponent() {
             this.checkSpellCheck = new System.Windows.Forms.CheckBox();
             this.checkUpdateNotifications = new System.Windows.Forms.CheckBox();
             this.btnCheckUpdates = new System.Windows.Forms.Button();
+            this.labelZoomValue = new System.Windows.Forms.Label();
+            this.checkSwitchAccountSelectors = new System.Windows.Forms.CheckBox();
             this.groupTray = new System.Windows.Forms.GroupBox();
             this.labelTrayIcon = new System.Windows.Forms.Label();
             this.groupInterface = new System.Windows.Forms.GroupBox();
-            this.labelZoomValue = new System.Windows.Forms.Label();
             this.trackBarZoom = new System.Windows.Forms.TrackBar();
             this.labelZoom = new System.Windows.Forms.Label();
             this.groupUpdates = new System.Windows.Forms.GroupBox();
@@ -84,11 +85,11 @@ private void InitializeComponent() {
             // checkSpellCheck
             // 
             this.checkSpellCheck.AutoSize = true;
-            this.checkSpellCheck.Location = new System.Drawing.Point(9, 44);
+            this.checkSpellCheck.Location = new System.Drawing.Point(9, 67);
             this.checkSpellCheck.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
             this.checkSpellCheck.Name = "checkSpellCheck";
             this.checkSpellCheck.Size = new System.Drawing.Size(119, 17);
-            this.checkSpellCheck.TabIndex = 1;
+            this.checkSpellCheck.TabIndex = 2;
             this.checkSpellCheck.Text = "Enable Spell Check";
             this.toolTip.SetToolTip(this.checkSpellCheck, "Underlines words that are spelled incorrectly.");
             this.checkSpellCheck.UseVisualStyleBackColor = true;
@@ -116,12 +117,38 @@ private void InitializeComponent() {
             this.toolTip.SetToolTip(this.btnCheckUpdates, "Forces an update check, even for updates that had been dismissed.");
             this.btnCheckUpdates.UseVisualStyleBackColor = true;
             // 
+            // labelZoomValue
+            // 
+            this.labelZoomValue.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.labelZoomValue.BackColor = System.Drawing.Color.Transparent;
+            this.labelZoomValue.Location = new System.Drawing.Point(139, 116);
+            this.labelZoomValue.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
+            this.labelZoomValue.Name = "labelZoomValue";
+            this.labelZoomValue.Size = new System.Drawing.Size(38, 13);
+            this.labelZoomValue.TabIndex = 5;
+            this.labelZoomValue.Text = "100%";
+            this.labelZoomValue.TextAlign = System.Drawing.ContentAlignment.TopRight;
+            this.toolTip.SetToolTip(this.labelZoomValue, "Changes the zoom level.\r\nAlso affects notifications and screenshots.");
+            // 
+            // checkSwitchAccountSelectors
+            // 
+            this.checkSwitchAccountSelectors.AutoSize = true;
+            this.checkSwitchAccountSelectors.Location = new System.Drawing.Point(9, 44);
+            this.checkSwitchAccountSelectors.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
+            this.checkSwitchAccountSelectors.Name = "checkSwitchAccountSelectors";
+            this.checkSwitchAccountSelectors.Size = new System.Drawing.Size(172, 17);
+            this.checkSwitchAccountSelectors.TabIndex = 1;
+            this.checkSwitchAccountSelectors.Text = "Shift Selects Multiple Accounts";
+            this.toolTip.SetToolTip(this.checkSwitchAccountSelectors, "When (re)tweeting, click to select a single account or hold Shift to\r\nselect mult" +
+        "iple accounts, instead of TweetDeck\'s default behavior.");
+            this.checkSwitchAccountSelectors.UseVisualStyleBackColor = true;
+            // 
             // groupTray
             // 
             this.groupTray.Controls.Add(this.checkTrayHighlight);
             this.groupTray.Controls.Add(this.labelTrayIcon);
             this.groupTray.Controls.Add(this.comboBoxTrayType);
-            this.groupTray.Location = new System.Drawing.Point(9, 145);
+            this.groupTray.Location = new System.Drawing.Point(9, 168);
             this.groupTray.Name = "groupTray";
             this.groupTray.Size = new System.Drawing.Size(183, 93);
             this.groupTray.TabIndex = 1;
@@ -140,6 +167,7 @@ private void InitializeComponent() {
             // 
             // groupInterface
             // 
+            this.groupInterface.Controls.Add(this.checkSwitchAccountSelectors);
             this.groupInterface.Controls.Add(this.labelZoomValue);
             this.groupInterface.Controls.Add(this.trackBarZoom);
             this.groupInterface.Controls.Add(this.labelZoom);
@@ -147,48 +175,37 @@ private void InitializeComponent() {
             this.groupInterface.Controls.Add(this.checkExpandLinks);
             this.groupInterface.Location = new System.Drawing.Point(9, 9);
             this.groupInterface.Name = "groupInterface";
-            this.groupInterface.Size = new System.Drawing.Size(183, 130);
+            this.groupInterface.Size = new System.Drawing.Size(183, 153);
             this.groupInterface.TabIndex = 0;
             this.groupInterface.TabStop = false;
             this.groupInterface.Text = "User Interface";
             // 
-            // labelZoomValue
-            // 
-            this.labelZoomValue.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.labelZoomValue.BackColor = System.Drawing.Color.Transparent;
-            this.labelZoomValue.Location = new System.Drawing.Point(139, 93);
-            this.labelZoomValue.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
-            this.labelZoomValue.Name = "labelZoomValue";
-            this.labelZoomValue.Size = new System.Drawing.Size(38, 13);
-            this.labelZoomValue.TabIndex = 4;
-            this.labelZoomValue.Text = "100%";
-            this.labelZoomValue.TextAlign = System.Drawing.ContentAlignment.TopRight;
-            this.toolTip.SetToolTip(this.labelZoomValue, "Changes the zoom level.\r\nAlso affects notifications and screenshots.");
-            // 
             // trackBarZoom
             // 
-            this.trackBarZoom.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            this.trackBarZoom.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
             this.trackBarZoom.AutoSize = false;
             this.trackBarZoom.LargeChange = 25;
-            this.trackBarZoom.Location = new System.Drawing.Point(6, 92);
+            this.trackBarZoom.Location = new System.Drawing.Point(6, 115);
             this.trackBarZoom.Maximum = 200;
             this.trackBarZoom.Minimum = 50;
             this.trackBarZoom.Name = "trackBarZoom";
             this.trackBarZoom.Size = new System.Drawing.Size(141, 30);
             this.trackBarZoom.SmallChange = 5;
-            this.trackBarZoom.TabIndex = 3;
+            this.trackBarZoom.TabIndex = 4;
             this.trackBarZoom.TickFrequency = 25;
             this.trackBarZoom.Value = 100;
             // 
             // labelZoom
             // 
+            this.labelZoom.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
             this.labelZoom.AutoSize = true;
-            this.labelZoom.Location = new System.Drawing.Point(5, 76);
+            this.labelZoom.Location = new System.Drawing.Point(5, 99);
             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);
-            this.labelZoom.TabIndex = 2;
+            this.labelZoom.TabIndex = 3;
             this.labelZoom.Text = "Zoom";
             // 
             // groupUpdates
@@ -244,5 +261,6 @@ private void InitializeComponent() {
         private System.Windows.Forms.Label labelZoomValue;
         private System.Windows.Forms.TrackBar trackBarZoom;
         private System.Windows.Forms.Timer zoomUpdateTimer;
+        private System.Windows.Forms.CheckBox checkSwitchAccountSelectors;
     }
 }
diff --git a/Core/Other/Settings/TabSettingsGeneral.cs b/Core/Other/Settings/TabSettingsGeneral.cs
index 2e01b515..3b619e11 100644
--- a/Core/Other/Settings/TabSettingsGeneral.cs
+++ b/Core/Other/Settings/TabSettingsGeneral.cs
@@ -28,6 +28,7 @@ public TabSettingsGeneral(UpdateHandler updates){
             labelZoomValue.Text = trackBarZoom.Value+"%";
 
             checkExpandLinks.Checked = Config.ExpandLinksOnHover;
+            checkSwitchAccountSelectors.Checked = Config.SwitchAccountSelectors;
             checkSpellCheck.Checked = Config.EnableSpellCheck;
             checkTrayHighlight.Checked = Config.EnableTrayHighlight;
 
@@ -36,6 +37,7 @@ public TabSettingsGeneral(UpdateHandler updates){
 
         public override void OnReady(){
             checkExpandLinks.CheckedChanged += checkExpandLinks_CheckedChanged;
+            checkSwitchAccountSelectors.CheckedChanged += checkSwitchAccountSelectors_CheckedChanged;
             checkSpellCheck.CheckedChanged += checkSpellCheck_CheckedChanged;
             trackBarZoom.ValueChanged += trackBarZoom_ValueChanged;
 
@@ -54,6 +56,10 @@ private void checkExpandLinks_CheckedChanged(object sender, EventArgs e){
             Config.ExpandLinksOnHover = checkExpandLinks.Checked;
         }
 
+        private void checkSwitchAccountSelectors_CheckedChanged(object sender, EventArgs e){
+            Config.SwitchAccountSelectors = checkSwitchAccountSelectors.Checked;
+        }
+
         private void checkSpellCheck_CheckedChanged(object sender, EventArgs e){
             Config.EnableSpellCheck = checkSpellCheck.Checked;
             PromptRestart();
diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js
index 1763defa..81745a5d 100644
--- a/Resources/Scripts/code.js
+++ b/Resources/Scripts/code.js
@@ -513,17 +513,18 @@
   // Block: Swap shift key functionality for selecting accounts.
   //
   onAppReady.push(function(){
-    $(".js-drawer[data-drawer='compose']").delegate(".js-account-list > .js-account-item", "click", function(e){
-      e.shiftKey = !e.shiftKey;
-    });
+    var toggleEventShiftKey = function(e){
+      if ($TDX.switchAccountSelectors){
+        e.shiftKey = !e.shiftKey;
+      }
+    };
+    
+    $(".js-drawer[data-drawer='compose']").delegate(".js-account-list > .js-account-item", "click", toggleEventShiftKey);
 
     TD.components.AccountSelector.prototype.refreshPostingAccounts = appendToFunction(TD.components.AccountSelector.prototype.refreshPostingAccounts, function(){
       if (!this.$node.attr("td-account-selector-hook")){
         this.$node.attr("td-account-selector-hook", "1");
-
-        this.$node.delegate(".js-account-item", "click", function(e){
-          e.shiftKey = !e.shiftKey;
-        });
+        this.$node.delegate(".js-account-item", "click", toggleEventShiftKey);
       }
     });
   });