diff --git a/django/contrib/admin/static/admin/js/core.js b/django/contrib/admin/static/admin/js/core.js
index 2c096aac6d..7526bd3ab9 100644
--- a/django/contrib/admin/static/admin/js/core.js
+++ b/django/contrib/admin/static/admin/js/core.js
@@ -225,7 +225,10 @@ String.prototype.strptime = function(format) {
         }
         ++i;
     };
-    return new Date(year, month, day);
+    // Create Date object from UTC since the parsed value is supposed to be in
+    // UTC, not local time. Also, the calendar uses UTC functions for date
+    // extraction.
+    return new Date(Date.UTC(year, month, day));
 }
 
 // ----------------------------------------------------------------------------
diff --git a/docs/releases/1.8.9.txt b/docs/releases/1.8.9.txt
index 823bd9b3eb..5525eca84a 100644
--- a/docs/releases/1.8.9.txt
+++ b/docs/releases/1.8.9.txt
@@ -14,3 +14,7 @@ Bugfixes
 
 * Fixed a crash in the translations system when the current language has no
   translations (:ticket:`26046`).
+
+* Fixed a regression that caused the incorrect day to be selected when opening
+  the admin calendar widget for timezones from GMT+0100 to GMT+1200
+  (:ticket:`24980`).