diff --git a/Post/PViewDataGModel.cpp b/Post/PViewDataGModel.cpp
index bc26a46e894811c3242daea9d3a040bf4a34f0ed..35622352eb1912ef5b03e2c74625a06b93d3791c 100644
--- a/Post/PViewDataGModel.cpp
+++ b/Post/PViewDataGModel.cpp
@@ -697,7 +697,6 @@ bool PViewDataGModel::skipElement(int step, int ent, int ele, bool checkVisibili
   stepData<double> *sd = _steps[step];
   if(!_steps[step]->getNumData()) return true;
   MElement *e = _getElement(step, ent, ele);
-  if(!e) return true;
   if(checkVisibility && !e->getVisibility()) return true;
   if(_type == NodeData){
     for(int i = 0; i < getNumNodes(step, ent, ele); i++)
diff --git a/Post/PViewVertexArrays.cpp b/Post/PViewVertexArrays.cpp
index b8e3f2caa3a310f90a2495b38c7a436e2af280a9..998d587518000d40a99f243d8d20a90de7f56f1f 100644
--- a/Post/PViewVertexArrays.cpp
+++ b/Post/PViewVertexArrays.cpp
@@ -120,7 +120,9 @@ static bool getExternalValues(PView *p, int index, int ient, int iele,
   if(index < 0 || index >= (int)PView::list.size()) return false;
 
   PView *p2 = PView::list[index];
-  PViewData *data2 = p2->getData();
+  PViewData *data2 = p2->getData(true); // use adaptive data if available
+
+  if(iele >= data2->getNumElements(opt->timeStep, ient)) return false;
 
   if(!data2->skipElement(opt->timeStep, ient, iele) &&
      data2->getNumNodes(opt->timeStep, ient, iele) == numNodes){