diff --git a/src/modules/logicModule/abstracts/ERC20PaymentClientBase_v1.sol b/src/modules/logicModule/abstracts/ERC20PaymentClientBase_v1.sol
index f32a2c541..2ae69f08a 100644
--- a/src/modules/logicModule/abstracts/ERC20PaymentClientBase_v1.sol
+++ b/src/modules/logicModule/abstracts/ERC20PaymentClientBase_v1.sol
@@ -106,11 +106,7 @@ abstract contract ERC20PaymentClientBase_v1 is
         internal
         onlyInitializing
     {
-        uint amountOfFlags = flags_.length;
-        if (amountOfFlags > type(uint8).max) {
-            revert Module__ERC20PaymentClientBase_v1__FlagAmountTooHigh();
-        }
-        _setFlags(uint8(flags_.length), flags_);
+        _setFlags(flags_);
     }
 
     /// @dev	Adds a new {PaymentOrder} to the list of outstanding orders.
@@ -149,28 +145,23 @@ abstract contract ERC20PaymentClientBase_v1 is
     }
 
     /// @dev    Sets the flags for the PaymentOrders.
-    /// @param  flagCount_ The number of flags.
     /// @param  flags_ The flags, represented as an array of uint8 containing
     ///         the flag IDs between 0 and 255.
-    function _setFlags(uint8 flagCount_, uint8[] memory flags_)
-        internal
-        virtual
-    {
-        if (flagCount_ != flags_.length) {
-            revert
-                Module__ERC20PaymentClientBase__MismatchBetweenFlagCountAndArrayLength(
-                flagCount_, flags_.length
-            );
+    function _setFlags(uint8[] memory flags_) internal virtual {
+        uint amountOfFlags = flags_.length;
+
+        if (amountOfFlags > type(uint8).max) {
+            revert Module__ERC20PaymentClientBase_v1__FlagAmountTooHigh();
         }
 
-        _flagCount = flagCount_;
+        _flagCount = uint8(amountOfFlags);
 
         _flags = 0;
-        for (uint8 i = 0; i < flagCount_; i++) {
+        for (uint8 i = 0; i < amountOfFlags; i++) {
             _flags |= bytes32((1 << flags_[i]));
         }
 
-        emit FlagsSet(flagCount_, _flags);
+        emit FlagsSet(_flagCount, _flags);
     }
 
     //--------------------------------------------------------------------------
diff --git a/test/modules/logicModule/paymentClient/ERCPaymentClientBase_v1.t.sol b/test/modules/logicModule/paymentClient/ERCPaymentClientBase_v1.t.sol
index 2f37f4641..91220af29 100644
--- a/test/modules/logicModule/paymentClient/ERCPaymentClientBase_v1.t.sol
+++ b/test/modules/logicModule/paymentClient/ERCPaymentClientBase_v1.t.sol
@@ -487,7 +487,7 @@ contract ERC20PaymentClientBaseV1Test is ModuleTest {
             flags[i] = uint8(i);
         }
 
-        paymentClient.exposed_setFlags(flagCount_, flags);
+        paymentClient.exposed_setFlags(flags);
 
         assertEq(paymentClient.getFlagCount(), flagCount_);
         assertEq(
diff --git a/test/utils/mocks/modules/paymentClient/ERC20PaymentClientBaseV1AccessMock.sol b/test/utils/mocks/modules/paymentClient/ERC20PaymentClientBaseV1AccessMock.sol
index cb94c1703..5a2154b24 100644
--- a/test/utils/mocks/modules/paymentClient/ERC20PaymentClientBaseV1AccessMock.sol
+++ b/test/utils/mocks/modules/paymentClient/ERC20PaymentClientBaseV1AccessMock.sol
@@ -89,10 +89,8 @@ contract ERC20PaymentClientBaseV1AccessMock is ERC20PaymentClientBase_v1 {
         _outstandingTokenAmounts[token] = amount;
     }
 
-    function exposed_setFlags(uint8 flagCount_, uint8[] memory flags_)
-        external
-    {
-        _setFlags(flagCount_, flags_);
+    function exposed_setFlags(uint8[] memory flags_) external {
+        _setFlags(flags_);
     }
 
     function exposed_assemblePaymentConfig(bytes32[] memory flagValues_)