diff --git a/Framework/Algorithms/src/AsymmetryCalc.cpp b/Framework/Algorithms/src/AsymmetryCalc.cpp
index 13fd6c9ba36855879da26df9cac82468b11f1722..2287e3512e67abf6bd081f7209c1c24937786d0a 100644
--- a/Framework/Algorithms/src/AsymmetryCalc.cpp
+++ b/Framework/Algorithms/src/AsymmetryCalc.cpp
@@ -51,19 +51,19 @@ std::map<std::string, std::string> AsymmetryCalc::validateInputs() {
   std::vector<int> backwd = getProperty("BackwardSpectra");
 
   API::MatrixWorkspace_sptr inputWS = getProperty("InputWorkspace");
+  if (inputWS) {
+    inputWS->getIndicesFromSpectra(forwd, list);
+    if (forwd.size() != list.size()) {
+      result["ForwardSpectra"] =
+          "Some of the spectra can not be found in the input workspace";
+    }
 
-  inputWS->getIndicesFromSpectra(forwd, list);
-  if (forwd.size() != list.size()) {
-    result["ForwardSpectra"] =
-        "Some of the spectra can not be found in the input workspace";
-  }
-
-  inputWS->getIndicesFromSpectra(backwd, list);
-  if (backwd.size() != list.size()) {
-    result["BackwardSpectra"] =
-        "Some of the spectra can not be found in the input workspace";
+    inputWS->getIndicesFromSpectra(backwd, list);
+    if (backwd.size() != list.size()) {
+      result["BackwardSpectra"] =
+          "Some of the spectra can not be found in the input workspace";
+    }
   }
-
   return result;
 }