diff --git a/core/modules/link/src/Plugin/migrate/process/d6/CckLink.php b/core/modules/link/src/Plugin/migrate/process/d6/CckLink.php
index becf88c..d705671 100644
--- a/core/modules/link/src/Plugin/migrate/process/d6/CckLink.php
+++ b/core/modules/link/src/Plugin/migrate/process/d6/CckLink.php
@@ -45,8 +45,11 @@ public static function create(ContainerInterface $container, array $configuratio
    * {@inheritdoc}
    */
   public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
-    // Drupal 6 link attributes are double serialized.
-    $attributes = unserialize(unserialize($value['attributes']));
+    $attributes = unserialize($value['attributes']);
+    // Drupal 6 link attributes might be double serialized.
+    if (!is_array($attributes)) {
+      $attributes = unserialize($attributes);
+    }
 
     // Massage the values into the correct form for the link.
     $route['uri'] = $value['url'];
