diff --git a/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp b/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp
index b27932793748fd2a5065c036c8e8cbbe84438b00..7d33610095df6493b3b05eb498ce1e397b3a8532 100644
--- a/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp
+++ b/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp
@@ -427,7 +427,7 @@ int LoadIsawPeaks::findPixelID(Instrument_const_sptr inst, std::string bankName,
     int col0 = col - 1;
     //WISH detectors are in bank in this order in instrument
     if (inst->getName() == "WISH")
-      col0 = 152 - (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
+      col0 = (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
     boost::shared_ptr<const Geometry::ICompAssembly> asmb2 =
         boost::dynamic_pointer_cast<const Geometry::ICompAssembly>(
             children[col0]);
diff --git a/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp b/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp
index 30de0697df7acc18bbbd6f959b81472038a0b5c3..dddbf880f36789bd590b36aea71b76811a2d7642 100644
--- a/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp
+++ b/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp
@@ -405,7 +405,7 @@ V3D SaveIsawPeaks::findPixelPos(std::string bankName, int col, int row) {
     int col0 = col - 1;
     //WISH detectors are in bank in this order in instrument
     if (inst->getName() == "WISH")
-      col0 = 152 - (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
+      col0 = (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
     boost::shared_ptr<const Geometry::ICompAssembly> asmb2 =
         boost::dynamic_pointer_cast<const Geometry::ICompAssembly>(
             children[col0]);
diff --git a/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp b/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp
index c9aa3d700ef126382e5290bfb195f2eba370ca10..92d094e973704a719016b276033fb02555bae2ab 100644
--- a/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp
@@ -341,6 +341,8 @@ void LoadIsawDetCal::exec() {
       // Rotation angle from oX to rX
       double angle1 = oX.angle(rX);
       angle1 *= 180.0 / M_PI;
+      //TODO: find out why this is needed for WISH
+      if (inst->getName() == "WISH") angle1 += 180.0;
       // Create the first quaternion
       Quat Q1(angle1, ax1);
 
diff --git a/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp b/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp
index dd701675cc6025e10e0be152aaf7ee13d098ef77..053e007f4b25789ccae82792cba68c8ad93aa0cf 100644
--- a/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp
@@ -240,7 +240,7 @@ V3D SaveIsawDetCal::findPixelPos(std::string bankName, int col, int row) {
     int col0 = col - 1;
     //WISH detectors are in bank in this order in instrument
     if (inst->getName() == "WISH")
-      col0 = 152 - (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
+      col0 = (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
     boost::shared_ptr<const Geometry::ICompAssembly> asmb2 =
         boost::dynamic_pointer_cast<const Geometry::ICompAssembly>(
             children[col0]);