Unable to delete row in Base

Base Version: 4.4.3.2. OS Linux Mint 17.2.
This is the relevant section of the query:

FROM "Futures_Orders"
INNER JOIN "Contract_Details"
     ON "Contract_Details"."Symbol" = "Futures_Orders"."Symbol"
INNER JOIN "Broker"
     ON "Broker"."Broker" = "Futures_Orders"."Broker"
INNER JOIN "FX_Rates"
     ON "FX_Rates"."Code" = "Contract_Details"."Currency"
LEFT JOIN "Broker_Commissions" 
     ON "Broker_Commissions"."Broker" = "Broker"."Broker" AND
          "Broker_Commissions"."Symbol" = "Contract_Details"."Symbol"

When I delete a row (Futures_Orders), if the row from the left join exists (Broker_Commissions) it is also deleted. If Broker_Commissions doesn’t exist the following error message pops up:
“error deleting the specified records. Invalid argument in JDBC call: parameter index out of range: 1”.

This is the code after base manipulates it:

FROM { oj "Contract_Details" 
  LEFT OUTER JOIN "Broker_Commissions" 
                 ON "Contract_Details"."Symbol" = "Broker_Commissions"."Symbol" 
  RIGHT OUTER JOIN "Broker" 
                 ON "Broker"."Broker" = "Broker_Commissions"."Broker" }, 
"Futures_Orders", "FX_Rates" 
    WHERE "Futures_Orders"."Symbol" = "Contract_Details"."Symbol" AND "Futures_Orders"."Broker" = "Broker"."Broker" AND
 "Contract_Details"."Currency" = "FX_Rates"."Code"

I am not sure if it is relevant but these are the indexes on Broker_Commissions: The 1st is a unique autovalue field. The 2nd is also unique comprised of two fields - broker and symbol. The 3rd and forth are foreign fields - Symbol and Broker.

I would not use indeterminate joins as DELETE action queries. I’m pretty sure you can set up the relationships in the database engine to CASCADE the delete, but I usually would not do that. Base uses the oj syntax for everything that goes through the Query Builder. For that and other reasons, I would skip the GUI if you know how to write SQL queries.