diff --git a/helpers/types.ts b/helpers/types.ts
index 157f34ba..360050e5 100644
--- a/helpers/types.ts
+++ b/helpers/types.ts
@@ -187,6 +187,8 @@ export enum ProtocolErrors {
   RL_ATOKEN_SUPPLY_NOT_ZERO = '88',
   RL_STABLE_DEBT_NOT_ZERO = '89',
   RL_VARIABLE_DEBT_SUPPLY_NOT_ZERO = '90',
+  LPC_FLASHLOAN_PREMIUMS_MISMATCH = '95',
+  LPC_FLASHLOAN_PREMIUM_INVALID = '96',
 
   // old
 
diff --git a/test-suites/test-aave/configurator.spec.ts b/test-suites/test-aave/configurator.spec.ts
index 7a49e625..ecbcb0b0 100644
--- a/test-suites/test-aave/configurator.spec.ts
+++ b/test-suites/test-aave/configurator.spec.ts
@@ -26,6 +26,8 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
     LPC_CALLER_NOT_EMERGENCY_OR_POOL_ADMIN,
     LPC_CALLER_NOT_RISK_OR_POOL_ADMIN,
     VL_RESERVE_PAUSED,
+    LPC_FLASHLOAN_PREMIUMS_MISMATCH,
+    LPC_FLASHLOAN_PREMIUM_INVALID,
   } = ProtocolErrors;
 
   it('Reverts trying to set an invalid reserve factor', async () => {
@@ -1303,4 +1305,61 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
       CALLER_NOT_POOL_ADMIN
     ).to.be.revertedWith(CALLER_NOT_POOL_ADMIN);
   });
+  it('Update flash loan premiums: 10 toProtocol, 40 total', async () => {
+    const { dai, pool, configurator, users } = testEnv;
+    const newPremiumTotal = 40;
+    const newPremiumToProtocol = 10;
+
+    await configurator.updateFlashloanPremiumTotal(newPremiumTotal);
+    await configurator.updateFlashloanPremiumToProtocol(newPremiumToProtocol);
+
+    expect(await pool.FLASHLOAN_PREMIUM_TOTAL()).to.be.eq(newPremiumTotal);
+    expect(await pool.FLASHLOAN_PREMIUM_TO_PROTOCOL()).to.be.eq(newPremiumToProtocol);
+  });
+  it('Fails to update flahloan premiums with toProtocol > total', async () => {
+    const { dai, pool, configurator, users } = testEnv;
+    const newPremiumTotal = 9;
+    const newPremiumToProtocol = 41;
+
+    await expect(configurator.updateFlashloanPremiumTotal(newPremiumTotal)).to.be.revertedWith(
+      LPC_FLASHLOAN_PREMIUMS_MISMATCH
+    );
+    await expect(
+      configurator.updateFlashloanPremiumToProtocol(newPremiumToProtocol)
+    ).to.be.revertedWith(LPC_FLASHLOAN_PREMIUMS_MISMATCH);
+  });
+  it('Fails to update flahloan premiums > 100%', async () => {
+    const { dai, pool, configurator, users } = testEnv;
+    const newPremiumTotal = 10100;
+    const newPremiumToProtocol = 10100;
+
+    await expect(configurator.updateFlashloanPremiumTotal(newPremiumTotal)).to.be.revertedWith(
+      LPC_FLASHLOAN_PREMIUM_INVALID
+    );
+    await expect(
+      configurator.updateFlashloanPremiumToProtocol(newPremiumToProtocol)
+    ).to.be.revertedWith(LPC_FLASHLOAN_PREMIUM_INVALID);
+  });
+  it('Checks only pool admin can update flashloan premiums', async () => {
+    const { dai, pool, configurator, users, riskAdmin, emergencyAdmin } = testEnv;
+    await expect(
+      configurator.connect(riskAdmin.signer).updateFlashloanPremiumToProtocol(50),
+      CALLER_NOT_POOL_ADMIN
+    ).to.be.revertedWith(CALLER_NOT_POOL_ADMIN);
+
+    await expect(
+      configurator.connect(riskAdmin.signer).updateFlashloanPremiumTotal(50),
+      CALLER_NOT_POOL_ADMIN
+    ).to.be.revertedWith(CALLER_NOT_POOL_ADMIN);
+
+    await expect(
+      configurator.connect(emergencyAdmin.signer).updateFlashloanPremiumToProtocol(50),
+      CALLER_NOT_POOL_ADMIN
+    ).to.be.revertedWith(CALLER_NOT_POOL_ADMIN);
+
+    await expect(
+      configurator.connect(emergencyAdmin.signer).updateFlashloanPremiumTotal(50),
+      CALLER_NOT_POOL_ADMIN
+    ).to.be.revertedWith(CALLER_NOT_POOL_ADMIN);
+  });
 });