diff --git a/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp b/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp
index fbbecac5db995b307e7f1935d65b4da6895a7246..7facb3f871cee94009c2a432f9b1292a881abb42 100644
--- a/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp
+++ b/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp
@@ -192,6 +192,8 @@ void RotationSurface::findUVBounds() {
   m_v_max = -DBL_MAX;
   for (size_t i = 0; i < m_unwrappedDetectors.size(); ++i) {
     const UnwrappedDetector &udet = m_unwrappedDetectors[i];
+    if (!udet.isValid())
+      continue;
     if (udet.u < m_u_min)
       m_u_min = udet.u;
     if (udet.u > m_u_max)
@@ -223,6 +225,8 @@ void RotationSurface::findAndCorrectUGap() {
   std::vector<UnwrappedDetector>::const_iterator ud =
       m_unwrappedDetectors.begin();
   for (; ud != m_unwrappedDetectors.end(); ++ud) {
+    if (!ud->isValid())
+      continue;
     double u = ud->u;
     int i = int((u - m_u_min) / bin_width);
     ubins[i] = true;
@@ -259,6 +263,8 @@ void RotationSurface::findAndCorrectUGap() {
 
     std::vector<UnwrappedDetector>::iterator ud = m_unwrappedDetectors.begin();
     for (; ud != m_unwrappedDetectors.end(); ++ud) {
+      if (!ud->isValid())
+        continue;
       double &u = ud->u;
       u = applyUCorrection(u);
     }
diff --git a/MantidQt/MantidWidgets/src/InstrumentView/UnwrappedSurface.cpp b/MantidQt/MantidWidgets/src/InstrumentView/UnwrappedSurface.cpp
index 2f23f573c4f8b0ba80ca24dd9ae3456585c35cfd..a7881fe188dc5c86a05dd4e844bc5255fa5dfcfd 100644
--- a/MantidQt/MantidWidgets/src/InstrumentView/UnwrappedSurface.cpp
+++ b/MantidQt/MantidWidgets/src/InstrumentView/UnwrappedSurface.cpp
@@ -129,6 +129,8 @@ void UnwrappedSurface::cacheAllAssemblies() {
 
   for (size_t i = 0; i < m_unwrappedDetectors.size(); ++i) {
     const UnwrappedDetector &udet = m_unwrappedDetectors[i];
+    if (!udet.isValid())
+      continue;
     // Get the BARE parent (not parametrized) to speed things up.
     auto &detector = m_instrActor->getDetectorByDetID(udet.detID);
     const Mantid::Geometry::IComponent *bareDet = detector.getComponentID();