diff --git a/module/VuFind/src/VuFind/Db/Table/ChangeTracker.php b/module/VuFind/src/VuFind/Db/Table/ChangeTracker.php
index f2020fa7c86bb96d0334fbd9babf8b3f6830ceca..f9a957d7123e33e98ecd8cc7ee092b6ee121c349 100644
--- a/module/VuFind/src/VuFind/Db/Table/ChangeTracker.php
+++ b/module/VuFind/src/VuFind/Db/Table/ChangeTracker.php
@@ -203,7 +203,7 @@ class ChangeTracker extends Gateway
 
             // If first indexed is null, we're restoring a deleted record, so
             // we need to treat it as new -- we'll use the current time.
-            if (empty($this->first_indexed)) {
+            if (empty($row->first_indexed)) {
                 $row->first_indexed = $row->last_indexed;
             }
 
diff --git a/module/VuFind/tests/integration-tests/src/VuFindTest/Db/Table/ChangeTrackerTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/Db/Table/ChangeTrackerTest.php
index 10f3900a30d16abc10f5b50609e6a031ca98c3f5..799335d1fb71f0b4b5591d9c2f9b1b5775662686 100644
--- a/module/VuFind/tests/integration-tests/src/VuFindTest/Db/Table/ChangeTrackerTest.php
+++ b/module/VuFind/tests/integration-tests/src/VuFindTest/Db/Table/ChangeTrackerTest.php
@@ -77,6 +77,10 @@ class ChangeTrackerTest extends \VuFindTest\Unit\DbTestCase
         $this->assertTrue(empty($row->deleted));
         $this->assertEquals($row->first_indexed, $row->last_indexed);
         $this->assertEquals($row->last_record_change, '2012-01-17 20:46:10');
+        $previousFirstIndexed = $row->first_indexed;
+
+        // Sleep two seconds to be sure timestamps change:
+        sleep(2);
 
         // Index a later record version -- this should lead to changes:
         $tracker->index($core, 'test1', 1326833176);
@@ -89,6 +93,9 @@ class ChangeTrackerTest extends \VuFindTest\Unit\DbTestCase
         );
         $this->assertEquals($row->last_record_change, '2012-01-17 20:46:16');
 
+        // Make sure the "first indexed" date hasn't changed!
+        $this->assertEquals($row->first_indexed, $previousFirstIndexed);
+
         // Delete the record:
         $tracker->markDeleted($core, 'test1');
         $row = $tracker->retrieve($core, 'test1');
@@ -108,6 +115,7 @@ class ChangeTrackerTest extends \VuFindTest\Unit\DbTestCase
         $this->assertTrue(is_object($row));
         $this->assertTrue(empty($row->deleted));
         $this->assertEquals($row->last_record_change, '2012-01-17 20:46:10');
+        $this->assertEquals($row->first_indexed, $row->last_indexed);
 
         // Clean up after ourselves:
         $tracker->delete(array('core' => $core));