diff --git a/head2head.module b/head2head.module
index 455cced..f26f255 100644
--- a/head2head.module
+++ b/head2head.module
@@ -548,14 +548,35 @@ function _head2head_update_views_field_handler_boolean(array &$handler_config) {
     $handler_config['settings']['format_custom_false'] = $handler_config['type_custom_false'];
   }
 
-  if ($old_type == 'published-notpublished') {
-    $handler_config['settings']['format_custom_true'] = 'Published';
-    $handler_config['settings']['format_custom_false'] = 'Unpublished';
-  }
+  // Remove settings.
+  unset($handler_config['type_custom_true']);
+  unset($handler_config['type_custom_false']);
+
+  // Map old type to settings format.
+  switch ($old_type) {
+    case 'published-notpublished':
+      $handler_config['settings']['format'] = 'custom';
+      $handler_config['settings']['format_custom_true'] = 'Published';
+      $handler_config['settings']['format_custom_false'] = 'Unpublished';
+      break;
+
+    case 'active-blocked':
+      $handler_config['settings']['format'] = 'custom';
+      $handler_config['settings']['format_custom_true'] = 'Active';
+      $handler_config['settings']['format_custom_false'] = 'Blocked';
+      break;
+
+    // See: \Drupal\Core\Field\Plugin\Field\FieldFormatter\BooleanFormatter::getOutputFormats
+    case 'default':
+    case 'yes-no':
+    case 'true-false':
+    case 'on-off':
+    case 'enabled-disabled':
+    case 'boolean':
+    case 'unicode-yes-no':
+      $handler_config['settings']['format'] = $old_type;
+      break;
 
-  if ($old_type == 'published-notpublished') {
-    $handler_config['settings']['format_custom_true'] = 'Active';
-    $handler_config['settings']['format_custom_false'] = 'Blocked';
   }
 }
 
