             viewport.clipAndEnableScrolling = false;
             Group(skin).removeElement(viewport);
             viewport.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
+            systemManager.stage.removeEventListener("orientationChange",orientationChangeHandler);
         }
     }
     

                invalidateSkin();
                if (getStyle("interactionMode") == InteractionMode.TOUCH)
                {
                    // If the content size changed, particularly because of a device 
                    // orientation (i.e. landscape/portrait) change, then the valid 
                    // scroll position ranges may have changed.  In this case, we may
                    // need to snap the content scroll position back to a valid value. 
                    checkForInvalidScrollPositions();
                }
                break;
        }

                throwEffectMotionPaths.push(verticalMP);
                verticalTime = verticalMP.keyframes[verticalMP.keyframes.length-1].time;
                throwFinalVSP = Number(verticalMP.keyframes[verticalMP.keyframes.length-1].value); 
                if (throwFinalVSP == maxHeight)
                    throwReachedMaximumScrollPosition = true;
                scrollingVertically = true;
            }
        }
