diff --git a/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs b/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs
index 7b3c7064..2a91b225 100644
--- a/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs
+++ b/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs
@@ -227,7 +227,20 @@ public class TradeController(
/// True if player can buy offer
protected bool PlayerLacksTraderLoyaltyLevelToBuyOffer(RagfairOffer fleaOffer, PmcData pmcData)
{
- return fleaOffer.LoyaltyLevel > pmcData.TradersInfo[fleaOffer.User.Id].LoyaltyLevel;
+ if (fleaOffer.LoyaltyLevel == 0)
+ {
+ // No requirement, always passes
+ return true;
+ }
+
+ if (pmcData.TradersInfo.TryGetValue(fleaOffer.User.Id, out var traderInfo))
+ {
+ // Trader exists in profile ,do loyalty level check
+ return traderInfo.LoyaltyLevel >= fleaOffer.LoyaltyLevel;
+ }
+
+ // No trader data on player profile, fail check
+ return false;
}
///