File: core\VoterUpgradeableV2.sol
725:         uint256 nftVotePower = IVotingEscrowV2(votingEscrow).balanceOfNFT(tokenId_); 

737:         for (uint256 i; i < pools_.length; i++) {
738:             address pool = pools_[i];
739:             address gauge = poolToGauge[pools_[i]];
740:             uint256 votePowerForPool = (weights_[i] * nftVotePower) / totalVotesWeight;

751:             totalVoterPower += votePowerForPool;      
755:         }
         for (uint256 i; i < pools_.length; i++) {
             address pool = pools_[i];
             address gauge = poolToGauge[pools_[i]];            
-            uint256 votePowerForPool = (weights_[i] * nftVotePower) / totalVotesWeight;
+            if (i == pools_.length - 1) {
+               uint256 votePowerForPool = nftVotePower - totalVoterPower;
+            }
+            else {
+               uint256 votePowerForPool = (weights_[i] * nftVotePower) / totalVotesWeight;
+            }
         }
