diff --git a/src/Entity/Workspace.php b/src/Entity/Workspace.php
index a39a8e7..bbf4d6f 100644
--- a/src/Entity/Workspace.php
+++ b/src/Entity/Workspace.php
@@ -26,7 +26,7 @@ use Drupal\workspace\WorkspaceManager;
  *     plural = "@count workspaces"
  *   ),
  *   handlers = {
- *     "storage" = "Drupal\Core\Entity\Sql\SqlContentEntityStorage",
+ *     "storage" = "Drupal\workspace\WorkspaceStorage",
  *     "list_builder" = "\Drupal\workspace\WorkspaceListBuilder",
  *     "access" = "Drupal\workspace\WorkspaceAccessControlHandler",
  *     "route_provider" = {
diff --git a/src/WorkspaceListBuilder.php b/src/WorkspaceListBuilder.php
index f4b2b21..6f7e795 100644
--- a/src/WorkspaceListBuilder.php
+++ b/src/WorkspaceListBuilder.php
@@ -51,6 +51,20 @@ class WorkspaceListBuilder extends EntityListBuilder {
   /**
    * {@inheritdoc}
    */
+  protected function getEntityIds() {
+    $entity_ids = parent::getEntityIds();
+
+    // Ensure that the default workspace is always shown in the UI.
+    if (!in_array(WorkspaceManager::DEFAULT_WORKSPACE, $entity_ids, TRUE)) {
+      $entity_ids[] = WorkspaceManager::DEFAULT_WORKSPACE;
+    }
+
+    return $entity_ids;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function buildHeader() {
     $header['label'] = $this->t('Workspace');
     $header['uid'] = $this->t('Owner');
diff --git a/src/WorkspaceStorage.php b/src/WorkspaceStorage.php
new file mode 100644
index 0000000..309d32a
--- /dev/null
+++ b/src/WorkspaceStorage.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace Drupal\workspace;
+
+use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
+
+/**
+ * Defines the storage handler class for workspaces.
+ */
+class WorkspaceStorage extends SqlContentEntityStorage {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function doLoadMultiple(array $ids = NULL) {
+    $entities = parent::doLoadMultiple($ids);
+
+    // The default workspace should be available at all times.
+    if (!isset($entities[WorkspaceManager::DEFAULT_WORKSPACE])) {
+      $default_workspace = $this->create([
+        'id' => WorkspaceManager::DEFAULT_WORKSPACE,
+        'label' => ucwords(WorkspaceManager::DEFAULT_WORKSPACE),
+        'upstream' => RepositoryHandlerInterface::EMPTY_VALUE,
+      ]);
+
+      $entities[WorkspaceManager::DEFAULT_WORKSPACE] = $default_workspace;
+    }
+
+    return $entities;
+  }
+
+}
diff --git a/workspace.install b/workspace.install
index 0b3549e..fb24201 100644
--- a/workspace.install
+++ b/workspace.install
@@ -6,7 +6,6 @@
  */
 
 use Drupal\workspace\Entity\Workspace;
-use Drupal\workspace\RepositoryHandlerInterface;
 
 /**
  * Implements hook_install().
@@ -30,14 +29,7 @@ function workspace_install() {
   // Default to user ID 1 if we could not find any other administrator users.
   $owner_id = !empty($result) ? reset($result) : 1;
 
-  // Create two workspaces by default, 'live' and 'stage'.
-  Workspace::create([
-    'id' => 'live',
-    'label' => 'Live',
-    'upstream' => RepositoryHandlerInterface::EMPTY_VALUE,
-    'uid' => $owner_id,
-  ])->save();
-
+  // Create a 'Stage' workspaces by default.
   Workspace::create([
     'id' => 'stage',
     'label' => 'Stage',
