 
 			stopAll(0);
 			_registeredSoundList.length = 0;
+			_groupList.length = 0;
+
+			for each (var fadeController:SoundParameterController in _applyingFadeSoundChannelList)
+			{
+				fadeController.removeEventListener(Event.COMPLETE, fadeCompleteHandler);
+			}
+			_applyingFadeSoundChannelList.length = 0;
 		}
 
 //--------------------------------------------------------------------------

				_sharedSoundGeneratorEngine.dispose();
				_sharedSoundGeneratorEngine = null;
			}

			_isInitialized = false;
		}

		 * @param stopWhenCompleted	フェードが完了したときにサウンドを停止するかを指定します。主にフェードアウトの際に利用します。
		 * デフォルトは <code>false</code> です。
		 */
		public static function applyFadeToSoundChannel(soundChannel:SoundChannel, fadeTo:Number, timeByMS:Number, easing:Function = null, callback:Function = null, stopWhenCompleted:Boolean = false):void
		{
			if (fadeTo < 0)
				fadeTo = 0;
