2 added 8 characters in body edited Aug 16 '18 at 8:07 Henrik Schumacher 67.3k55 gold badges9696 silver badges185185 bronze badges Since you already use Cross in a way that it's not meant to be used, you can also redefine it and assign a meaning to it when it has only a single argument: Unprotect[Cross]; Cross[x_] := x;  A bit less severe: Define your own function. cross[x__] := Cross[x]; cross[x_] := x;  Since you already use Cross in a way that it's not meant to be, you can also redefine it and assign a meaning to when it has only a single argument: Unprotect[Cross]; Cross[x_] := x;  A bit less severe: Define your own function. cross[x__] := Cross[x]; cross[x_] := x;  Since you already use Cross in a way that it's not meant to be used, you can also redefine it and assign a meaning to it when it has only a single argument: Unprotect[Cross]; Cross[x_] := x;  A bit less severe: Define your own function. cross[x__] := Cross[x]; cross[x_] := x;  1 answered Aug 16 '18 at 8:02 Henrik Schumacher 67.3k55 gold badges9696 silver badges185185 bronze badges Since you already use Cross in a way that it's not meant to be, you can also redefine it and assign a meaning to when it has only a single argument: Unprotect[Cross]; Cross[x_] := x;  A bit less severe: Define your own function. cross[x__] := Cross[x]; cross[x_] := x;