Index: trunk/src/gfx/keyframed_mesh.cc
===================================================================
--- trunk/src/gfx/keyframed_mesh.cc	(revision 251)
+++ trunk/src/gfx/keyframed_mesh.cc	(revision 252)
@@ -118,6 +118,14 @@
 void nv::keyframed_mesh::run_animation( animation_entry* a_anim )
 {
-	keyframed_animation_entry * anim = down_cast<keyframed_animation_entry>(a_anim);
-	setup_animation( anim->m_start, anim->m_frames, anim->m_fps, anim->m_looping );
+	if ( a_anim )
+	{
+		keyframed_animation_entry * anim = down_cast<keyframed_animation_entry>(a_anim);
+		m_active = true;
+		setup_animation( anim->m_start, anim->m_frames, anim->m_fps, anim->m_looping );
+	}
+	else
+	{
+		m_active = false;
+	}
 }
 
Index: trunk/src/gfx/skeletal_mesh.cc
===================================================================
--- trunk/src/gfx/skeletal_mesh.cc	(revision 251)
+++ trunk/src/gfx/skeletal_mesh.cc	(revision 252)
@@ -58,5 +58,12 @@
 void nv::skeletal_mesh::run_animation( animation_entry* a_anim )
 {
-	skeletal_animation_entry * anim = down_cast<skeletal_animation_entry>(a_anim);
-	setup_animation( anim->m_animation );
+	if ( a_anim != nullptr )
+	{
+		skeletal_animation_entry * anim = down_cast<skeletal_animation_entry>(a_anim);
+		setup_animation( anim->m_animation );
+	}
+	else
+	{
+		setup_animation( nullptr );
+	}
 }
