diff --git a/src/Importer.php b/src/Importer.php
index 600ed5c..62f3c36 100644
--- a/src/Importer.php
+++ b/src/Importer.php
@@ -84,6 +84,24 @@ class Importer implements ImporterInterface {
   protected $accountSwitcher;
 
   /**
+   * Array to hold the local UUIDs of what we consider core users.
+   *
+   * Keys are uids, values are UUIDS.
+   *
+   * @var array
+   */
+  protected $coreUsersUuids = [];
+
+  /**
+   * Array to hold UUIDs found in the import that correspond to core users.
+   *
+   * Keys are uids, values are arrays of UUIDs.
+   *
+   * @var array
+   */
+  protected $coreUsersImportUuids = [];
+
+  /**
    * Constructs the default content manager.
    *
    * @param \Symfony\Component\Serializer\Serializer $serializer
@@ -109,6 +127,53 @@ class Importer implements ImporterInterface {
     $this->scanner = $scanner;
     $this->linkDomain = $link_domain;
     $this->accountSwitcher = $account_switcher;
+
+    $this->coreUsersUuids = [
+      0 => \Drupal::entityTypeManager()->getStorage('user')->load(0)->uuid(),
+      1 => \Drupal::entityTypeManager()->getStorage('user')->load(1)->uuid(),
+    ];
+  }
+
+  /**
+   * Extract core user Uuids as recorded in an item to be imported.
+   *
+   * Results are stored in $coreUsersImportUuids.
+   *
+   * @param array $item
+   *   Item to extract core user Uuids from.
+   */
+  private function overrideCoreUsersUuids(&$item) {
+    // If the content is from a system user, override its UUID to match the
+    // one of the current site.
+    $userPatternTemplate = "/user/%d?_format=hal_json";
+    if ($item['_links']['type']['href'] === "http://drupal.org/rest/type/user/user") {
+      foreach ($this->coreUsersUuids as $uid => $uuid) {
+        $userPattern = sprintf($userPatternTemplate, $uid);
+        // Match the end of the string.
+        if (strpos($item['_links']['self']['href'], $userPattern) !== FALSE) {
+          $overriddenUuid = $item['uuid'][0]['value'];
+          $item['uuid'][0]['value'] = $uuid;
+          if (!is_array($this->coreUsersImportUuids[$uid])) {
+            $this->coreUsersImportUuids[$uid] = [];
+          }
+          if (!in_array($overriddenUuid, $this->coreUsersImportUuids[$uid])) {
+            $this->coreUsersImportUuids[$uid][] = $overriddenUuid;
+          }
+        }
+      }
+    }
+  }
+
+  /**
+   * Replace import core UUIDs with the local UUIDs.
+   *
+   * @param string $contents
+   *   Serialized content to manipulate.
+   */
+  private function replaceCoreUserUuidsInString(&$contents) {
+    foreach ($this->coreUsersUuids as $uid => $uuid) {
+      $contents = str_replace($this->coreUsersUuids[$uid], $uuid, $contents);
+    }
   }
 
   /**
@@ -140,6 +205,7 @@ class Importer implements ImporterInterface {
           $contents = $this->parseFile($file);
           // Decode the file contents.
           $decoded = $this->serializer->decode($contents, 'hal_json');
+          $this->overrideCoreUsersUuids($decoded);
           // Get the link to this entity.
           $item_uuid = $decoded['uuid'][0]['value'];
 
@@ -164,6 +230,7 @@ class Importer implements ImporterInterface {
           // Here we need to resolve our dependencies:
           foreach ($decoded['_embedded'] as $embedded) {
             foreach ($embedded as $item) {
+              $this->overrideCoreUsersUuids($item);
               $uuid = $item['uuid'][0]['value'];
               $edge = $this->getVertex($uuid);
               $this->graph[$vertex->id]['edges'][$edge->id] = TRUE;
@@ -180,6 +247,7 @@ class Importer implements ImporterInterface {
           $entity_type_id = $file->entity_type_id;
           $class = $this->entityTypeManager->getDefinition($entity_type_id)->getClass();
           $contents = $this->parseFile($file);
+          $this->replaceCoreUserUuidsInString($contents);
           $entity = $this->serializer->deserialize($contents, $class, 'hal_json', ['request_method' => 'POST']);
           $entity->enforceIsNew(TRUE);
           // Ensure that the entity is not owned by the anonymous user.
