diff --git a/src/Main/model.hxx b/src/Main/model.hxx
index ac23895c5..8054a908b 100644
--- a/src/Main/model.hxx
+++ b/src/Main/model.hxx
@@ -36,6 +36,8 @@ private:
 
   struct Animation
   {
+    Animation ();
+    virtual ~Animation ();
     enum Type {
       None,
       Spin,
@@ -58,8 +60,9 @@ private:
     void setRotation ();
   };
 
-  Animation read_animation (const string &object_name,
-			    const SGPropertyNode * node);
+  void read_animation (Animation &animation,
+		       const string &object_name,
+		       const SGPropertyNode * node);
   void do_animation (Animation &animation, long elapsed_ms);
 
   ssgEntity * _model;