diff --git a/src/options.js b/src/options.js
index 53c4e3b..648faa2 100644
--- a/src/options.js
+++ b/src/options.js
@@ -2,7 +2,7 @@
   return Object.keys(obj).length === 0;
 }
 
-var defaultOptions = {
+const defaultOptions = {
   "list": true,
   "thread": true,
   "threadall": false,
@@ -15,6 +15,12 @@
   "movethreads": false
 };
 
+const deprecatedOptions = [
+  "list",
+  "escalatethreads",
+  "movethreads"
+];
+
 function cleanUpOptions(options) {
   var ok = true;
   for (const [opt, value] of Object.entries(defaultOptions)) {
@@ -35,7 +41,8 @@
   var options = defaultOptions;
 
   Object.keys(options).forEach(function (opt) {
-    options[opt] = document.querySelector("#"+opt).checked;
+    if (deprecatedOptions.includes(opt)) return;
+    options[opt] = document.querySelector("#"+opt).checked || false;
   });
 
   chrome.storage.sync.set(options, function() {
@@ -60,7 +67,7 @@
     items = cleanUpOptions(items);
 
     Object.keys(defaultOptions).forEach(function(opt) {
-      if (items[opt] === true) {
+      if (items[opt] === true && !deprecatedOptions.includes(opt)) {
         document.querySelector("#"+opt).checked = true;
       }
     });
