diff --git a/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp b/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp
index 7d33610095df6493b3b05eb498ce1e397b3a8532..b27932793748fd2a5065c036c8e8cbbe84438b00 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 = (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
+      col0 = 152 - (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 b471524273d0043160f8b6c14031fa5bd314c36d..30de0697df7acc18bbbd6f959b81472038a0b5c3 100644
--- a/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp
+++ b/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp
@@ -214,8 +214,8 @@ void SaveIsawPeaks::exec() {
 
           // Write the line
           out << "5 " << std::setw(6) << std::right << bank << " "
-              << std::setw(6) << std::right << NCOLS << " " << std::setw(6)
-              << std::right << NROWS << " " << std::setw(7) << std::right
+              << std::setw(6) << std::right << NROWS << " " << std::setw(6)
+              << std::right << NCOLS << " " << std::setw(7) << std::right
               << std::fixed << std::setprecision(4) << 100.0 * xsize << " "
               << std::setw(7) << std::right << std::fixed
               << std::setprecision(4) << 100.0 * ysize << " "
@@ -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 = (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
+      col0 = 152 - (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/SaveIsawDetCal.cpp b/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp
index 19388cba0d120ddc3af04ff018a56661a785f470..dd701675cc6025e10e0be152aaf7ee13d098ef77 100644
--- a/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp
@@ -178,17 +178,17 @@ void SaveIsawDetCal::exec() {
       int midX = NCOLS/2;
       int midY = NROWS/2;
       V3D base =
-          findPixelPos(bankName, midX, midY) - findPixelPos(bankName, midX + 2, midY);
+          findPixelPos(bankName, midX + 2, midY) - findPixelPos(bankName, midX, midY);
       base.normalize();
 
       // Up unit vector (along the vertical, Y axis)
-      V3D up = findPixelPos(bankName, midX, midY) - findPixelPos(bankName, midX, midY + 1);
+      V3D up = findPixelPos(bankName, midX, midY + 1) - findPixelPos(bankName, midX, midY);
       up.normalize();
 
       // Write the line
       out << "5 " << std::setw(6) << std::right << bank << " "
-          << std::setw(6) << std::right << NCOLS << " " << std::setw(6)
-          << std::right << NROWS << " " << std::setw(7) << std::right
+          << std::setw(6) << std::right << NROWS << " " << std::setw(6)
+          << std::right << NCOLS << " " << std::setw(7) << std::right
           << std::fixed << std::setprecision(4) << 100.0 * xsize << " "
           << std::setw(7) << std::right << std::fixed
           << std::setprecision(4) << 100.0 * ysize << " "
@@ -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 = (col % 2 == 0 ? col / 2 + 75 : (col - 1) / 2);
+      col0 = 152 - (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]);