diff --git a/src/SymbolTable.cc b/src/SymbolTable.cc
index 936a253ad83fa5e5eef3eec483d5990326d17ea4..68a0bc64ed9cd8b9d2fb42908e4a943a78cab9ff 100644
--- a/src/SymbolTable.cc
+++ b/src/SymbolTable.cc
@@ -718,12 +718,11 @@ SymbolTable::getOrigSymbIdForAuxVar(int aux_var_symb_id) const noexcept(false)
 int
 SymbolTable::getOrigLeadLagForDiffAuxVar(int diff_aux_var_symb_id) const noexcept(false)
 {
-  int lag = 0;
   for (const auto &aux_var : aux_vars)
     if ((aux_var.get_type() == AuxVarType::diffLag || aux_var.get_type() == AuxVarType::diffLead)
         && aux_var.get_symb_id() == diff_aux_var_symb_id)
-      lag += 1 + getOrigLeadLagForDiffAuxVar(aux_var.get_orig_symb_id());
-  return lag;
+      return (aux_var.get_type() == AuxVarType::diffLag ? 1 : -1) + getOrigLeadLagForDiffAuxVar(aux_var.get_orig_symb_id());
+  return 0;
 }
 
 int