This is an update to fix tax recalculations if the discout coupon is restricted to certain categories:

Find the following lines in /includes/modules/order_total/ot_coupon.php:

$cat_query = tep_db_query("select products_id from products_to_categories where products_id = '" . $products_id . "' and categories_id = '" . $cat_ids[$i] . "'");

Replace by:

$cat_query = tep_db_query("select products_id from products_to_categories where products_id = '" . $t_prid . "' and categories_id = '" . $cat_ids[$c] . "'");

Or simply replace the file in enclosed packe.

Full package included.

More...