diff --git a/Post/PViewDataGModelIO.cpp b/Post/PViewDataGModelIO.cpp
index 841774d7f5176ba18f87239558ec1f64e327f3e1..f39f2de6dd5b53fb4a29ecbf296428d2d7fdcfb3 100644
--- a/Post/PViewDataGModelIO.cpp
+++ b/Post/PViewDataGModelIO.cpp
@@ -15,8 +15,12 @@ bool PViewDataGModel::addData(GModel *model, std::map<int, std::vector<double> >
                               int step, double time, int partition)
 {
   if(data.empty()) return false;
-  
-  int numComp = data.begin()->second.size();
+
+  int numComp = 9;
+  for(std::map<int, std::vector<double> >::iterator it = data.begin(); 
+      it != data.end(); it++)
+    numComp = std::min(numComp, (int)it->second.size());
+
   while(step >= (int)_steps.size())
     _steps.push_back(new stepData<double>(model, numComp));