diff --git a/hyperpoint.cpp b/hyperpoint.cpp index 6f42bf18..6702903a 100644 --- a/hyperpoint.cpp +++ b/hyperpoint.cpp @@ -663,7 +663,12 @@ EX transmatrix rgpushxto0(const hyperpoint& H) { EX void fixmatrix(transmatrix& T) { if(nonisotropic) ; // T may be inverse... do not do that - else if(prod) ; + else if(prod) { + auto z = zlevel(tC0(T)); + T = mscale(T, -z); + PIU(fixmatrix(T)); + T = mscale(T, +z); + } else if(euclid) { for(int x=0; x