diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py
index d21cdf33c3e48e3c0839ca31a8c6a32fdacd501c..f935eb026b01b3b16394b390344bb1d3c1e576a6 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py
@@ -121,6 +121,13 @@ class BlenderScene():
 
 
 
+
+                # Avoid rotation bug if collection is hidden or disabled
+                if gltf.blender_active_collection is not None:
+                    gltf.collection_hide_viewport = bpy.data.collections[gltf.blender_active_collection].hide_viewport
+                    bpy.data.collections[gltf.blender_active_collection].hide_viewport = False
+                    # TODO for visibility ... but seems not exposed on bpy for now
+
                 for node_idx in list_nodes:
 
                     if node_idx in exclude_nodes:
@@ -143,6 +150,11 @@ class BlenderScene():
                 #bpy.context.scene.collection.objects.unlink(obj_rotation)
                 bpy.data.objects.remove(obj_rotation)
 
+                # Restore collection hiden / disabled values
+                if gltf.blender_active_collection is not None:
+                    bpy.data.collections[gltf.blender_active_collection].hide_viewport = gltf.collection_hide_viewport
+                    # TODO restore visibility when expose in bpy
+
     @staticmethod
     def get_root_nodes(gltf):
         if gltf.data.nodes is None: