diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp
index da26362490e7b5e70fea35af401ebcf2f39f2439..844c829b78f0ebe76bbb7df4291a34764b2df303 100644
--- a/test/test_transaction.cpp
+++ b/test/test_transaction.cpp
@@ -691,9 +691,7 @@ auto test_numeric_values_impl(AtomicDataType a_type) -> void {
   auto values_orig = test_transaction::generateValues<T>();
   auto props_orig = std::vector<Entity>();
   size_t i = 0;
-  --i;
   for (auto value : values_orig) {
-    ++i;
     auto insert_transaction(connection->CreateTransaction());
     Entity prop;
     prop.SetRole(Role::PROPERTY);
@@ -711,13 +709,12 @@ auto test_numeric_values_impl(AtomicDataType a_type) -> void {
     auto t_stat = insert_transaction->WaitForIt();
     EXPECT_TRUE(t_stat.IsTerminated());
     EXPECT_FALSE(t_stat.IsError());
+    ++i;
   }
 
   // Retrieve and verify
   i = 0;
-  --i;
   for (const auto value : values_orig) {
-    ++i;
     auto retrieve_transaction(connection->CreateTransaction());
     const auto prop = props_orig[i];
     const auto name =
@@ -736,6 +733,7 @@ auto test_numeric_values_impl(AtomicDataType a_type) -> void {
         test_transaction::getValueAs<T>(result.GetValue());
     // std::cout << "retrieved_value: " << retrieved_value << std::endl;
     EXPECT_EQ(retrieved_value, value);
+    ++i;
   }
 }