Index: branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp	(revision 525)
+++ branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp	(revision 526)
@@ -2687,17 +2687,14 @@
     for ( i = 0; i < m_pcSlice->getNumRefIdx(eRefPicList) && !refViewAvailFlag; i++ )
     {
-      TComPic* refPic = m_pcSlice->getRefPic(eRefPicList, i);
-      if ( refPic->getPOC() == m_pcSlice->getPOC() ) // inter-view reference
-      {
-        Int viewIdxRefInList = refPic->getViewIndex();
-        if (refViewIdx != viewIdxRefInList)
-        {
-          refViewAvailFlag = true;
-          predFlag[iRefListIdY] = 1;
-          pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].setMvField( pDInfo->m_acDoNBDV, i );
+      TComPic* refPicInList = m_pcSlice->getRefPic(eRefPicList, i);
+      Int viewIdxRefInList = refPicInList->getViewIndex();
+      if ( viewIdxRefInList != m_pcSlice->getViewIndex() && viewIdxRefInList != refViewIdx )
+      {
+        refViewAvailFlag = true;
+        predFlag[iRefListIdY] = 1;
+        pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].setMvField( pDInfo->m_acDoNBDV, i );
 #if H_3D_NBDV
-          pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].getMv().setIDVFlag (false);
-#endif
-        }
+        pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].getMv().setIDVFlag (false);
+#endif
       }
     }
@@ -4924,9 +4921,5 @@
           return true;
         }
-#if 0 // H_3D_VSP  // MERL: To be confirmed
-        else if ( bSearchForMvpDv && (cMvPred.getIDVFlag() || pcTmpCU->getVSPFlag( uiIdx )) && bTmpIsSkipped )
-#else
         else if ( bSearchForMvpDv && cMvPred.getIDVFlag() && bTmpIsSkipped )
-#endif
         {
           assert( uiMvpDvPos < IDV_CANDS );
