diff --git a/preprocessor/ExprNode.cc b/preprocessor/ExprNode.cc
index 7a03ee96ec241819ecb96eb3e23692fdfd86a9f0..fcf19ec511eff535d9df33a04733dfe8aad28b6f 100644
--- a/preprocessor/ExprNode.cc
+++ b/preprocessor/ExprNode.cc
@@ -4320,9 +4320,8 @@ ExternalFunctionNode::composeDerivatives(const vector<expr_t> &dargs)
 {
   vector<expr_t> dNodes;
   for (int i = 0; i < (int) dargs.size(); i++)
-    if (dargs.at(i) != 0)
-      dNodes.push_back(datatree.AddTimes(dargs.at(i),
-                                         datatree.AddFirstDerivExternalFunctionNode(symb_id, arguments, i+1)));
+    dNodes.push_back(datatree.AddTimes(dargs.at(i),
+                                       datatree.AddFirstDerivExternalFunctionNode(symb_id, arguments, i+1)));
 
   expr_t theDeriv = datatree.Zero;
   for (vector<expr_t>::const_iterator it = dNodes.begin(); it != dNodes.end(); it++)
@@ -4911,9 +4910,8 @@ FirstDerivExternalFunctionNode::composeDerivatives(const vector<expr_t> &dargs)
 {
   vector<expr_t> dNodes;
   for (int i = 0; i < (int) dargs.size(); i++)
-    if (dargs.at(i) != 0)
-      dNodes.push_back(datatree.AddTimes(dargs.at(i),
-                                         datatree.AddSecondDerivExternalFunctionNode(symb_id, arguments, inputIndex, i+1)));
+    dNodes.push_back(datatree.AddTimes(dargs.at(i),
+                                       datatree.AddSecondDerivExternalFunctionNode(symb_id, arguments, inputIndex, i+1)));
   expr_t theDeriv = datatree.Zero;
   for (vector<expr_t>::const_iterator it = dNodes.begin(); it != dNodes.end(); it++)
     theDeriv = datatree.AddPlus(theDeriv, *it);