diff --git a/src/libs/DebugUtils.ts b/src/libs/DebugUtils.ts
index 5b8ba052f549..0ecd35986f82 100644
--- a/src/libs/DebugUtils.ts
+++ b/src/libs/DebugUtils.ts
@@ -951,7 +951,6 @@ function validateTransactionDraftProperty(key: keyof Transaction, value: string)
         case 'hasEReceipt':
         case 'shouldShowOriginalAmount':
         case 'managedCard':
-        case 'wasMerchantCleared':
             return validateBoolean(value);
         case 'amount':
         case 'taxAmount':
@@ -1074,7 +1073,6 @@ function validateTransactionDraftProperty(key: keyof Transaction, value: string)
                     inserted: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                     accountant: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                     splitExpenses: CONST.RED_BRICK_ROAD_PENDING_ACTION,
-                    wasMerchantCleared: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                 },
                 'string',
             );
diff --git a/src/libs/TransactionUtils/index.ts b/src/libs/TransactionUtils/index.ts
index 7f9c0a3e9640..0a6c8310a613 100644
--- a/src/libs/TransactionUtils/index.ts
+++ b/src/libs/TransactionUtils/index.ts
@@ -338,10 +338,6 @@ function hasReceiptSource(transaction: OnyxInputOrEntry<Transaction>): boolean {
 }
 
 function isMerchantMissing(transaction: OnyxEntry<Transaction>) {
-    if (transaction?.wasMerchantCleared) {
-        return true;
-    }
-
     if (transaction?.modifiedMerchant && transaction.modifiedMerchant !== '') {
         return transaction.modifiedMerchant === CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT;
     }
@@ -438,10 +434,6 @@ function getUpdatedTransaction({
         shouldStopSmartscan = true;
     }
 
-    if (Object.hasOwn(transactionChanges, 'wasMerchantCleared')) {
-        updatedTransaction.wasMerchantCleared = transactionChanges.wasMerchantCleared;
-    }
-
     if (Object.hasOwn(transactionChanges, 'waypoints')) {
         updatedTransaction.modifiedWaypoints = transactionChanges.waypoints;
         updatedTransaction.isLoading = true;
@@ -701,12 +693,8 @@ function isUnreportedAndHasInvalidDistanceRateTransaction(transaction: OnyxInput
  * Return the merchant field from the transaction, return the modifiedMerchant if present.
  */
 function getMerchant(transaction: OnyxInputOrEntry<Transaction>, policyParam: OnyxEntry<Policy> = undefined): string {
-    if (!transaction) {
-        return '';
-    }
-
-    const report = getReportOrDraftReport(transaction.reportID);
-    if (isDistanceRequest(transaction)) {
+    if (transaction && isDistanceRequest(transaction)) {
+        const report = getReportOrDraftReport(transaction.reportID);
         // This will be fixed as part of https://github.com/Expensify/Expensify/issues/507850
         // eslint-disable-next-line deprecation/deprecation
         const policy = policyParam ?? getPolicy(report?.policyID);
@@ -719,12 +707,7 @@ function getMerchant(transaction: OnyxInputOrEntry<Transaction>, policyParam: On
             );
         }
     }
-
-    // Check if merchant was intentionally cleared by user (only for personal expenses)
-    if (transaction.wasMerchantCleared) {
-        return '';
-    }
-    return transaction.modifiedMerchant ? transaction.modifiedMerchant : (transaction.merchant ?? '');
+    return transaction?.modifiedMerchant ? transaction.modifiedMerchant : (transaction?.merchant ?? '');
 }
 
 function getMerchantOrDescription(transaction: OnyxEntry<Transaction>) {
diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts
index cd52bc025726..00ffe1f52ed5 100644
--- a/src/libs/actions/IOU.ts
+++ b/src/libs/actions/IOU.ts
@@ -4621,16 +4621,10 @@ function updateMoneyRequestMerchant(
     policy: OnyxEntry<OnyxTypes.Policy>,
     policyTagList: OnyxEntry<OnyxTypes.PolicyTagLists>,
     policyCategories: OnyxEntry<OnyxTypes.PolicyCategories>,
-    wasMerchantCleared?: boolean,
 ) {
     const transactionChanges: TransactionChanges = {
         merchant: value,
     };
-
-    if (wasMerchantCleared !== undefined) {
-        transactionChanges.wasMerchantCleared = wasMerchantCleared;
-    }
-
     const transactionThreadReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReportID}`] ?? null;
     const parentReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReport?.parentReportID}`] ?? null;
     let data: UpdateMoneyRequestData;
diff --git a/src/pages/iou/request/step/IOURequestStepMerchant.tsx b/src/pages/iou/request/step/IOURequestStepMerchant.tsx
index 7b2076004a7c..9baa0b1e2170 100644
--- a/src/pages/iou/request/step/IOURequestStepMerchant.tsx
+++ b/src/pages/iou/request/step/IOURequestStepMerchant.tsx
@@ -100,26 +100,10 @@ function IOURequestStepMerchant({
             navigateBack();
             return;
         }
-
-        // Check if merchant was intentionally cleared by user
-        const existingMerchantValue = merchant === CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT ? '' : merchant;
-        const wasMerchantCleared = newMerchant === '' && existingMerchantValue !== '';
-
-        // Determine the merchant value to save
-        let merchantValue: string;
-        if (wasMerchantCleared) {
-            if (isMerchantRequired) {
-                return;
-            }
-            merchantValue = '';
-        } else {
-            // Fallback to PARTIAL_TRANSACTION_MERCHANT only if merchant is null or undefined
-            merchantValue = newMerchant ?? CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT;
-        }
-
-        setMoneyRequestMerchant(transactionID, merchantValue, !isEditing);
+        // When creating/editing an expense, newMerchant can be blank so we fall back on PARTIAL_TRANSACTION_MERCHANT
+        setMoneyRequestMerchant(transactionID, newMerchant || CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT, !isEditing);
         if (isEditing) {
-            updateMoneyRequestMerchant(transactionID, reportID, merchantValue, policy, policyTags, policyCategories, wasMerchantCleared && !isMerchantRequired);
+            updateMoneyRequestMerchant(transactionID, reportID, newMerchant || CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT, policy, policyTags, policyCategories);
         }
         navigateBack();
     };
diff --git a/src/types/onyx/Transaction.ts b/src/types/onyx/Transaction.ts
index f0ac31d9c809..6898997336c0 100644
--- a/src/types/onyx/Transaction.ts
+++ b/src/types/onyx/Transaction.ts
@@ -548,9 +548,6 @@ type Transaction = OnyxCommon.OnyxValueWithOfflineFeedback<
 
         /** The inserted time of the transaction */
         inserted?: string;
-
-        /** Whether the merchant field was intentionally cleared by the user */
-        wasMerchantCleared?: boolean;
     },
     keyof Comment | keyof TransactionCustomUnit | 'attendees'
 >;
