diff --git a/core/modules/migrate/src/Exception/RequirementsException.php b/core/modules/migrate/src/Exception/RequirementsException.php
index 12b5de100d506752bd064f5a86d6a42318d41f24..5843de2c6a0465a20028702ed6d96e78e658607c 100644
--- a/core/modules/migrate/src/Exception/RequirementsException.php
+++ b/core/modules/migrate/src/Exception/RequirementsException.php
@@ -60,6 +60,10 @@ public function getRequirements() {
   public function getRequirementsString() {
     $output = '';
     foreach ($this->requirements as $requirement_type => $requirements) {
+      if (!is_array($requirements)) {
+        $requirements = array($requirements);
+      }
+
       foreach ($requirements as $value) {
         $output .= "$requirement_type: $value. ";
       }
diff --git a/core/modules/migrate/tests/src/Unit/Exception/RequirementsExceptionTest.php b/core/modules/migrate/tests/src/Unit/Exception/RequirementsExceptionTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..05e81e1dd7af822fbec8ea156ae1675229e10375
--- /dev/null
+++ b/core/modules/migrate/tests/src/Unit/Exception/RequirementsExceptionTest.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\migrate\Unit\Exception\RequirementsExceptionTest.
+ */
+
+namespace Drupal\Tests\migrate\Unit\Exception;
+
+use Drupal\migrate\Exception\RequirementsException;
+use Drupal\Tests\UnitTestCase;
+
+/**
+ * @coversDefaultClass \Drupal\migrate\Exception\RequirementsException
+ * @group migration
+ */
+class RequirementsExceptionTest extends UnitTestCase {
+
+  protected $missingRequirements = ['random_jackson_pivot', '51_Eridani_b'];
+
+  /**
+   * @covers ::getRequirements
+   */
+  public function testGetRequirements() {
+    $exception = new RequirementsException('Missing requirements ', ['requirements' => $this->missingRequirements]);
+    $this->assertArrayEquals(['requirements' => $this->missingRequirements], $exception->getRequirements());
+  }
+
+  /**
+   * @covers ::getRequirementsString
+   * @dataProvider getRequirementsProvider
+   */
+  public function testGetExceptionString($expected, $message, $requirements) {
+    $exception = new RequirementsException($message, $requirements);
+    $this->assertEquals($expected, $exception->getRequirementsString());
+  }
+
+  /**
+   * Provides a list of requirements to test.
+   */
+  public function getRequirementsProvider() {
+    return array(
+      array(
+        'requirements: random_jackson_pivot.',
+        'Single Requirement',
+        array('requirements' => $this->missingRequirements[0]),
+      ),
+      array(
+        'requirements: random_jackson_pivot. requirements: 51_Eridani_b.',
+        'Multiple Requirements',
+        array('requirements' => $this->missingRequirements),
+      ),
+    );
+  }
+}