Index: branches/presentation/src/lib/graphics/importer/static_model.cc
===================================================================
--- branches/presentation/src/lib/graphics/importer/static_model.cc	(revision 10701)
+++ branches/presentation/src/lib/graphics/importer/static_model.cc	(revision 10714)
@@ -82,4 +82,5 @@
 void StaticModel::finalize()
 {
+  this->extractMountPoints();
   data->finalize();
   this->updateBase();
@@ -100,8 +101,8 @@
 void StaticModel::extractMountPoints()
 {
-
+  printf("extracting MP...");
   // go through all groups and check if they are mounts
-  std::vector<StaticModelData::Group>::const_iterator groupIt = this->data->getGroups().begin();
-  for( ; groupIt != this->data->getGroups().end(); groupIt++)
+  std::vector<StaticModelData::Group>::iterator groupIt = this->data->getGroups().begin();
+  for( ; groupIt != this->data->getGroups().end();)
   {
     //PRINTF(0)("Found a MountPoint: %s\n", groupName.c_str());
@@ -112,7 +113,9 @@
 
     // check if the name has a "MP" prefix or else it won't work
-    if( groupName.find("MP.", 0) == std::string::npos)
+    if( groupName.find("MP.", 0) == std::string::npos){
+      groupIt++;
+//       printf("Found MP:  ");
       continue;
-
+    }
 
     PRINTF(5)("Found a MountPoint: %s\n", groupName.c_str());
@@ -125,4 +128,7 @@
       PRINTF(4)("the face count of %s is wrong, perhaps you missnamed this object or used the wrong mount point object (got %i faces)\n",
                 groupName.c_str(), (*groupIt)._faces.size());
+//       printf("wrong number of faces\n\n");
+      groupIt++;
+      continue;
     }
 
@@ -137,4 +143,5 @@
     }
 
+//     printf("confirmed  ");
 
     Vector center;
@@ -143,16 +150,21 @@
     Vector zAxis;
     // now process all points
+//     printf("entering loop: ");
     for( int i = 0; i < 3; i++)
     {
+//       printf("%i ", i);
       // convert the float vertices to vectors
       Vector a( this->data->getVertices()[triangle[i]._elements[0].vertexNumber * 3],
                 this->data->getVertices()[triangle[i]._elements[0].vertexNumber * 3 + 1],
                 this->data->getVertices()[triangle[i]._elements[0].vertexNumber * 3 + 2]);
+//       printf("a");
       Vector b( this->data->getVertices()[triangle[i]._elements[1].vertexNumber * 3],
                 this->data->getVertices()[triangle[i]._elements[1].vertexNumber * 3 + 1],
                 this->data->getVertices()[triangle[i]._elements[1].vertexNumber * 3 + 2]);
+//       printf("b");
       Vector c( this->data->getVertices()[triangle[i]._elements[2].vertexNumber * 3],
                 this->data->getVertices()[triangle[i]._elements[2].vertexNumber * 3 + 1],
                 this->data->getVertices()[triangle[i]._elements[2].vertexNumber * 3 + 2]);
+//       printf("c  ");
 
       Vector ab = a - b;
@@ -208,7 +220,17 @@
     }
 
+//     printf("adding MP\n");
     // now add the mount point
      this->addMountPoint( zAxis, yAxis, center, groupName);
+
+//     printf("removing item...");
+    // remove the group from the model list (mount points do not need to be drawn)
+//      std::vector<StaticModelData::Group>::iterator tmpIt =  groupIt;
+     groupIt++;
+//     printf("   removing...");
+//      this->data->getGroups().erase(tmpIt);
+//     printf("   REMOVED\n");
   }
+//   printf("done\n");
 }
 
Index: branches/presentation/src/lib/graphics/importer/static_model_data.h
===================================================================
--- branches/presentation/src/lib/graphics/importer/static_model_data.h	(revision 10701)
+++ branches/presentation/src/lib/graphics/importer/static_model_data.h	(revision 10714)
@@ -129,5 +129,5 @@
   ///! HACK SOLUTION sTriangleExt should be const in the modelInfo.
   sTriangleExt* getTrianglesExt() { return &this->triangles[0]; };
-  const std::vector<Group>& getGroups() { return this->_modelGroups; }
+  std::vector<Group>& getGroups() { return this->_modelGroups; }
 
   float getScaleFactor() const  { return scaleFactor; }
