diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs
index f4cf0957c08164e4498a377e36215fef56c2f3af..657f32c3c2676e29b7b1393143e06df02121f989 100644
--- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs
+++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs
@@ -223,7 +223,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                         results.Add(result);
 
                         // Recursive search starting with the attached trackable
-                        results.AddRange(FindRelocInfo(trackable.UUID, mode, m, capabilities, ref history));
+                        results.AddRange(FindRelocInfoAsTo(trackable.UUID, mode, m, capabilities, ref history));
                     }
                     else
                     {
@@ -264,7 +264,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                         }
 
                         // Recursive search starting with the attached anchor
-                        results.AddRange(FindRelocInfo(anchor.UUID, mode, m, capabilities, ref history));
+                        results.AddRange(FindRelocInfoAsTo(anchor.UUID, mode, m, capabilities, ref history));
                     }
                     else
                     {
@@ -323,14 +323,14 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
 
                         if (mode == ModeWorldStorage.REQUESTTOTRACKABLESEnum)
                         {
-                            m = link.Matrix() * matrix;
+                            m = matrix * link.Matrix();
                         }
                         else if (mode == ModeWorldStorage.TRACKABLESTOREQUESTEnum)
                         {
                             Matrix4x4 invert;
                             if (Matrix4x4.Invert(link.Matrix(), out invert))
                             {
-                                m = matrix * invert;
+                                m = invert * matrix;
                             }
                             else
                             {
@@ -359,7 +359,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                         results.Add(result);
 
                         // Recursive search starting with the attached trackable
-                        results.AddRange(FindRelocInfo(trackable.UUID, mode, m, capabilities, ref history));
+                        results.AddRange(FindRelocInfoAsFrom(trackable.UUID, mode, m, capabilities, ref history));
                     }
                     else
                     {
@@ -374,18 +374,18 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                     {
 
                         Matrix4x4 m;
-                        m = link.Matrix() * matrix;
+                        //m = link.Matrix() * matrix;
 
                         if (mode == ModeWorldStorage.REQUESTTOTRACKABLESEnum)
                         {
-                            m = link.Matrix() * matrix;
+                            m = matrix * link.Matrix();
                         }
                         else if (mode == ModeWorldStorage.TRACKABLESTOREQUESTEnum)
                         {
                             Matrix4x4 invert;
                             if (Matrix4x4.Invert(link.Matrix(), out invert))
                             {
-                                m = matrix * invert;
+                                m = invert * matrix;
                             }
                             else
                             {
@@ -400,7 +400,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                         }
 
                         // Recursive search starting with the attached anchor
-                        results.AddRange(FindRelocInfo(anchor.UUID, mode, m, capabilities, ref history));
+                        results.AddRange(FindRelocInfoAsFrom(anchor.UUID, mode, m, capabilities, ref history));
                     }
                     else
                     {