Index: OpenSceneGraph/trunk/src/osgAnimation/MorphGeometry.cpp
===================================================================
--- OpenSceneGraph/trunk/src/osgAnimation/MorphGeometry.cpp (revision 10599)
+++ OpenSceneGraph/trunk/src/osgAnimation/MorphGeometry.cpp (revision 11009)
@@ -262,16 +262,11 @@
     if (weightIndex >= 0)
     {
-        osgAnimation::FloatLinearChannel* fc = dynamic_cast<osgAnimation::FloatLinearChannel*>(channel);
-        if (fc)
-        {
-            osgAnimation::FloatTarget* ft = _weightTargets[weightIndex].get();
-            if (ft == 0)
-            {
-                ft = new osgAnimation::FloatTarget;
-                _weightTargets[weightIndex] = ft;
-            }
-            fc->setTarget(ft);
-            return true;
-        }
+        osgAnimation::FloatTarget* ft = _weightTargets[weightIndex].get();
+        if (!ft)
+        {
+            ft = new osgAnimation::FloatTarget;
+            _weightTargets[weightIndex] = ft;
+        }
+        return channel->setTarget(ft);
     }
     else
