diff --git a/src/treeopt.in b/src/treeopt.in
index 8e4a5fbd538f55f6649859478d17e5c902f78248..9a2ec7df97cfbf464137a2b28bb7cf932dcf9981 100644
--- a/src/treeopt.in
+++ b/src/treeopt.in
@@ -1,6 +1,6 @@
 // -*- c -*-
 //
-// $Id: treeopt.in,v 1.47 2000/10/02 13:52:04 grubba Exp $
+// $Id: treeopt.in,v 1.48 2000/10/02 23:00:21 grubba Exp $
 //
 // The tree optimizer
 //
@@ -95,7 +95,7 @@ F_APPLY(0 = F_CONSTANT
 	[$$->u.sval.type == T_FUNCTION]
 	[$$->u.sval.subtype == FUNCTION_BUILTIN]
 	[$$->u.sval.u.efun->function == f_minus],
-	2 = F_ARG_LIST(F_APPLY($0, 1), 3)):
+	2 = F_ARG_LIST(F_APPLY($0, 1 = F_ARG_LIST(+, +)), 3)):
   {
     node *arglist = $2;
 #ifdef SHARED_NODES