Some tokens (e.g. USDT, KNC) do not allow approving an amount M > 0 when an existing amount N > 0 is already approved. This is to protect from an ERC20 attack vector describe here
File:wemix-lending-contract-main/contracts/lending/TeamMinter.sol
61: IERC20(underlyingTokenAddress).approve(cErc20Address, mintAmount);