diff --git a/core/types/dynamic_fee_tx.go b/core/types/dynamic_fee_tx.go
index 08d15f94b426e145a0bdf58c5c96c8c8fc1e3708..bdc920251ae9af8249de2940044b2f86141fe859 100644
--- a/core/types/dynamic_fee_tx.go
+++ b/core/types/dynamic_fee_tx.go
@@ -469,9 +469,11 @@ func (tx DynamicFeeTransaction) AsMessage(s Signer, baseFee *big.Int) (Message,
 		accessList: tx.AccessList,
 		checkNonce: true,
 	}
-	overflow := msg.gasPrice.SetFromBig(baseFee)
-	if overflow {
-		return msg, fmt.Errorf("gasPrice higher than 2^256-1")
+	if baseFee != nil {
+		overflow := msg.gasPrice.SetFromBig(baseFee)
+		if overflow {
+			return msg, fmt.Errorf("gasPrice higher than 2^256-1")
+		}
 	}
 	msg.gasPrice.Add(&msg.gasPrice, tx.Tip)
 	if msg.gasPrice.Gt(tx.FeeCap) {