diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js
index fc352b895..f1da288be 100644
--- a/js/ui/extensionSystem.js
+++ b/js/ui/extensionSystem.js
@@ -27,6 +27,8 @@ const ExtensionState = {
 var enabledExtensions;
 // Contains the order that extensions were enabled in.
 const extensionOrder = [];
+// Whether extension version validation is enabled
+var versionValidationEnabled;
 
 // We don't really have a class to add signals on. So, create
 // a simple dummy object, add the signal methods, and export those
@@ -277,6 +279,11 @@ function onEnabledExtensionsChanged() {
 }
 
 function _onVersionValidationChanged() {
+    var currentSetting = global.settings.get_boolean(EXTENSION_DISABLE_VERSION_CHECK_KEY);
+    if (currentSetting === versionValidationEnabled) {
+        return;
+    }
+    versionValidationEnabled = currentSetting;
     // we want to reload all extensions, but only enable
     // extensions when allowed by the sessionMode, so
     // temporarily disable them all