diff --git a/CRM/Contact/Import/Parser/Contact.php b/CRM/Contact/Import/Parser/Contact.php
index 137d61d88a0e5c5747743abce3ac4cbcca300c43..172280834b66f164c6c62561b014f024eecf430c 100644
--- a/CRM/Contact/Import/Parser/Contact.php
+++ b/CRM/Contact/Import/Parser/Contact.php
@@ -194,7 +194,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser {
         $extraFields['related_contact_matched']++;
       }
     }
-    $this->setImportStatus($rowNumber, $this->getStatus(CRM_Import_Parser::VALID), $this->getSuccessMessage(), $contactID, $extraFields);
+    $this->setImportStatus($rowNumber, $this->getStatus(CRM_Import_Parser::VALID), $this->getSuccessMessage(), $contactID, $extraFields, [$contactID]);
     return CRM_Import_Parser::VALID;
   }
 
diff --git a/CRM/Import/Parser.php b/CRM/Import/Parser.php
index 753f0a5077d51450b39b9da6ec5284f468aa258d..5c0876082fe1a2ebfcab52aec432e0551fc66579 100644
--- a/CRM/Import/Parser.php
+++ b/CRM/Import/Parser.php
@@ -1994,11 +1994,18 @@ abstract class CRM_Import_Parser {
    *   Optional created entity ID
    * @param array $additionalFields
    *  Additional fields to be tracked
+   * @param array $createdContactIDs
    *
    * @noinspection PhpDocMissingThrowsInspection
    * @noinspection PhpUnhandledExceptionInspection
    */
-  protected function setImportStatus(int $id, string $status, string $message = '', ?int $entityID = NULL, $additionalFields = []): void {
+  protected function setImportStatus(int $id, string $status, string $message = '', ?int $entityID = NULL, $additionalFields = [], $createdContactIDs = []): void {
+    foreach ($createdContactIDs as $createdContactID) {
+      // Store any created contacts for post_actions like tag or add to group.
+      // These are done on a 'per-batch' status in processPorstActions
+      // so holding in a property is OK.
+      $this->createdContacts[$createdContactID] = $createdContactID;
+    }
     $this->getDataSourceObject()->updateStatus($id, $status, $message, $entityID, $additionalFields);
   }
 
diff --git a/tests/phpunit/CRM/Contact/Import/Form/data/contact_id_only.csv b/tests/phpunit/CRM/Contact/Import/Form/data/contact_id_only.csv
new file mode 100644
index 0000000000000000000000000000000000000000..63e41e1f5be9d72e7d8f2e937b30b0f451b0b1fa
--- /dev/null
+++ b/tests/phpunit/CRM/Contact/Import/Form/data/contact_id_only.csv
@@ -0,0 +1,2 @@
+Contact ID
+3
diff --git a/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php b/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php
index 5f70b8b6e4c837b88a9831b64076d2bb9d16ba70..4f30f10a37feb43c81edd2d2f89be466590d249c 100644
--- a/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php
+++ b/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php
@@ -18,6 +18,8 @@ use Civi\Api4\Address;
 use Civi\Api4\Contact;
 use Civi\Api4\ContactType;
 use Civi\Api4\Email;
+use Civi\Api4\Group;
+use Civi\Api4\GroupContact;
 use Civi\Api4\IM;
 use Civi\Api4\LocationType;
 use Civi\Api4\OpenID;
@@ -1068,6 +1070,22 @@ class CRM_Contact_Import_Parser_ContactTest extends CiviUnitTestCase {
     }
   }
 
+  /**
+   * @throws \API_Exception
+   * @throws \CRM_Core_Exception
+   */
+  public function testImportContactToGroup(): void {
+    $this->individualCreate();
+    $this->importCSV('contact_id_only.csv', [['id']], [
+      'newGroupName' => 'My New Group',
+    ]);
+    $dataSource = new CRM_Import_DataSource_CSV(UserJob::get(FALSE)->setSelect(['id'])->execute()->first()['id']);
+    $row = $dataSource->getRow();
+    $this->assertEquals('IMPORTED', $row['_status']);
+    $group = Group::get()->addWhere('title', '=', 'My New Group')->execute()->first();
+    $this->assertCount(1, GroupContact::get()->addWhere('group_id', '=', $group['id'])->execute());
+  }
+
   /**
    * Get combinations to test for validation.
    *
@@ -2065,11 +2083,18 @@ class CRM_Contact_Import_Parser_ContactTest extends CiviUnitTestCase {
       'groups' => [],
     ], $submittedValues);
     $form = $this->getFormObject('CRM_Contact_Import_Form_DataSource', $submittedValues);
+    $values = $_SESSION['_' . $form->controller->_name . '_container']['values'];
+
     $form->buildForm();
     $form->postProcess();
     $this->userJobID = $form->getUserJobID();
+
+    // This gets reset in DataSource so re-do....
+    $_SESSION['_' . $form->controller->_name . '_container']['values'] = $values;
+
     /* @var CRM_Contact_Import_Form_MapField $form */
     $form = $this->getFormObject('CRM_Contact_Import_Form_MapField', $submittedValues);
+
     $form->setUserJobID($this->userJobID);
     $form->buildForm();
     $form->postProcess();