diff --git a/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java b/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java
index 34238f6..8010182 100644
--- a/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java
+++ b/util/src/main/java/org/killbill/billing/util/entity/dao/EntitySqlDaoWrapperInvocationHandler.java
@@ -373,8 +373,7 @@ public class EntitySqlDaoWrapperInvocationHandler<S extends EntitySqlDao<M, E>,
// Make sure to re-hydrate the objects first (especially needed for create calls)
final Collection<M> reHydratedEntities = new ArrayList<>(entityRecordIds.size());
if (deletedAndUpdatedEntities.isEmpty()) {
- Preconditions.checkState(entityRecordIds.size() == 1 && changeType == ChangeType.INSERT, "Unexpected number of entityRecordIds=%s and changeType=%s", entityRecordIds, changeType);
- reHydratedEntities.add(sqlDao.getByRecordId(entityRecordIds.get(0), context));
+ reHydratedEntities.addAll((List<M>) sqlDao.getByRecordIds(entityRecordIds, context));
printSQLWarnings();
} else {
reHydratedEntities.addAll(deletedAndUpdatedEntities.values());