diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs
index ccfe7435..bb43c0e2 100644
--- a/Core/FormBrowser.cs
+++ b/Core/FormBrowser.cs
@@ -35,7 +35,7 @@ private static UserConfig Config{
 
         private FormWindowState prevState;
 
-        public FormBrowser(PluginManager pluginManager){
+        public FormBrowser(PluginManager pluginManager, UpdaterSettings updaterSettings){
             InitializeComponent();
 
             Text = Program.BrandName;
@@ -73,7 +73,7 @@ public FormBrowser(PluginManager pluginManager){
 
             UpdateTrayIcon();
 
-            this.updates = new UpdateHandler(browser, this);
+            this.updates = new UpdateHandler(browser, this, updaterSettings);
             this.updates.UpdateAccepted += updates_UpdateAccepted;
         }
 
diff --git a/Program.cs b/Program.cs
index a91d1afc..80ae3554 100644
--- a/Program.cs
+++ b/Program.cs
@@ -13,6 +13,7 @@
 using TweetDck.Core.Other.Settings.Export;
 using TweetDck.Core.Handling;
 using TweetDck.Core.Other;
+using TweetDck.Updates;
 
 [assembly: CLSCompliant(true)]
 namespace TweetDck{
@@ -153,7 +154,10 @@ private static void Main(){
             plugins.PluginChangedState += (sender, args) => UserConfig.Save();
             plugins.Reload();
 
-            FormBrowser mainForm = new FormBrowser(plugins);
+            FormBrowser mainForm = new FormBrowser(plugins, new UpdaterSettings{
+                AllowPreReleases = Args.HasFlag("-debugupdates")
+            });
+
             Application.Run(mainForm);
 
             if (mainForm.UpdateInstallerPath != null){
diff --git a/Resources/Scripts/update.js b/Resources/Scripts/update.js
index 5c76cd79..abbee842 100644
--- a/Resources/Scripts/update.js
+++ b/Resources/Scripts/update.js
@@ -12,7 +12,12 @@
   //
   // Constant: Url that returns JSON data about latest version.
   //
-  const updateCheckUrl = "https://api.github.com/repos/chylex/"+$TDU.brandName+"/releases/latest";
+  const updateCheckUrlLatest = "https://api.github.com/repos/chylex/"+$TDU.brandName+"/releases/latest";
+  
+  //
+  // Constant: Url that returns JSON data about all versions, including prereleases.
+  //
+  const updateCheckUrlAll = "https://api.github.com/repos/chylex/"+$TDU.brandName+"/releases";
   
   //
   // Function: Creates the update notification element. Removes the old one if already exists.
@@ -135,14 +140,20 @@
     clearTimeout(updateCheckTimeoutID);
     updateCheckTimeoutID = setTimeout(runUpdateCheck, 1000*60*60); // 1 hour
     
-    if (!$TDU.updateCheckEnabled && !force)return;
+    if (!$TDU.updateCheckEnabled && !force){
+      return;
+    }
     
-    $.getJSON(updateCheckUrl, function(response){
-      var tagName = response.tag_name;
-      var hasUpdate = tagName !== $TDU.versionTag && tagName !== $TDU.dismissedVersionTag && response.assets.length > 0;
+    var allowPre = $TDU.allowPreReleases;
+    
+    $.getJSON(allowPre ? updateCheckUrlAll : updateCheckUrlLatest, function(response){
+      var release = allowPre ? response[0] : response;
+      
+      var tagName = release.tag_name;
+      var hasUpdate = tagName !== $TDU.versionTag && tagName !== $TDU.dismissedVersionTag && release.assets.length > 0;
       
       if (hasUpdate){
-        var obj = response.assets.find(asset => asset.name === updateFileName) || response.assets[0];
+        var obj = release.assets.find(asset => asset.name === updateFileName) || release.assets[0];
         createUpdateNotificationElement(tagName, obj.browser_download_url);
       }
       
diff --git a/TweetDck.csproj b/TweetDck.csproj
index cb9b90a3..66572848 100644
--- a/TweetDck.csproj
+++ b/TweetDck.csproj
@@ -238,6 +238,7 @@
       <DependentUpon>Resources.resx</DependentUpon>
     </Compile>
     <Compile Include="Resources\ScriptLoader.cs" />
+    <Compile Include="Updates\UpdaterSettings.cs" />
     <None Include="Configuration\app.config" />
     <None Include="Configuration\packages.config" />
   </ItemGroup>
diff --git a/Updates/UpdateHandler.cs b/Updates/UpdateHandler.cs
index 34d16e2e..5e32520e 100644
--- a/Updates/UpdateHandler.cs
+++ b/Updates/UpdateHandler.cs
@@ -10,15 +10,18 @@ namespace TweetDck.Updates{
     class UpdateHandler{
         private readonly ChromiumWebBrowser browser;
         private readonly FormBrowser form;
+        private readonly UpdaterSettings settings;
 
         public event EventHandler<UpdateAcceptedEventArgs> UpdateAccepted;
         public event EventHandler<UpdateCheckEventArgs> CheckFinished;
 
         private int lastEventId;
 
-        public UpdateHandler(ChromiumWebBrowser browser, FormBrowser form){
+        public UpdateHandler(ChromiumWebBrowser browser, FormBrowser form, UpdaterSettings settings){
             this.browser = browser;
             this.form = form;
+            this.settings = settings;
+
             browser.FrameLoadEnd += browser_FrameLoadEnd;
             browser.RegisterJsObject("$TDU", new Bridge(this));
         }
@@ -71,6 +74,12 @@ public string DismissedVersionTag{
                 }
             }
 
+            public bool AllowPreReleases{
+                get{
+                    return owner.settings.AllowPreReleases;
+                }
+            }
+
             public bool IsSystemSupported{
                 get{
                     return Environment.OSVersion.Version >= new Version("6.1"); // 6.1 NT version = Windows 7
diff --git a/Updates/UpdaterSettings.cs b/Updates/UpdaterSettings.cs
new file mode 100644
index 00000000..4fe7ea06
--- /dev/null
+++ b/Updates/UpdaterSettings.cs
@@ -0,0 +1,5 @@
+namespace TweetDck.Updates{
+    class UpdaterSettings{
+        public bool AllowPreReleases { get; set; }
+    }
+}