diff --git a/CatiaNetTest/AssemblyTiers3.vb b/CatiaNetTest/AssemblyTiers3.vb
index ef2ee52c3db3d59e9742c1bff4febb736ea226f0..65e91da02a2ebea6dbb4fcadda72581e6c6c4f69 100644
--- a/CatiaNetTest/AssemblyTiers3.vb
+++ b/CatiaNetTest/AssemblyTiers3.vb
@@ -653,12 +653,18 @@ Public Class AssemblyTiers3
                 aTiers(int_i) = intMaxTier + 1 - aTiers(int_i)
             End If
             'Reverse disassembly axis (assembly axis = -disass. axis)
+            Dim tempAssemblyDirs As Integer()
+            ReDim tempAssemblyDirs(intJ)
             For intAxis = 0 To intJ - 1
                 If disassDir(int_i, intAxis) = 1 Then
-                    disassDir(int_i, intAxis) = 0
-                    disassDir(int_i, d3.Item(intAxis)) = 1
+                    tempAssemblyDirs(d3.Item(intAxis)) = 1
+                    'disassDir(int_i, intAxis) = 0
+                    'disassDir(int_i, d3.Item(intAxis)) = 1
                 End If
             Next intAxis
+            For intAxis = 0 To intJ - 1
+                disassDir(int_i, intAxis) = tempAssemblyDirs(intAxis)
+            Next intAxis
         Next int_i
 
         'Association of components belonging to sequential tiers