diff --git a/src/UsgsAstroLsSensorModel.cpp b/src/UsgsAstroLsSensorModel.cpp
index 7bb0e8aa53460bf911302ebcf9c364b6125a4fcd..c476c4c6339fca78f11b079d900e348d3d9659a9 100644
--- a/src/UsgsAstroLsSensorModel.cpp
+++ b/src/UsgsAstroLsSensorModel.cpp
@@ -2213,19 +2213,6 @@ void UsgsAstroLsSensorModel::losEllipsoidIntersect(
    computeElevation(x, y, z, h, aPrec, desired_precision);
    slope = -1;
 
-   while (MKTR > ktr && fabs(height - h) > desired_precision)
-   {
-      sprev = scale;
-      scale += slope * (height - h);
-      x = xc + scale * xl;
-      y = yc + scale * yl;
-      z = zc + scale * zl;
-      hprev = h;
-      computeElevation(x, y, z, h, aPrec, desired_precision);
-      slope = (sprev - scale) / (hprev - h);
-      ktr++;
-   }
-
    achieved_precision = fabs(height - h);
 }
 
diff --git a/tests/Fixtures.h b/tests/Fixtures.h
index e2a95b298b44660a055aac054decf560ddcaee90..fc61f715979aa5306af22e64ef365a126a061411 100644
--- a/tests/Fixtures.h
+++ b/tests/Fixtures.h
@@ -171,6 +171,33 @@ class ConstVelocityLineScanSensorModel : public ::testing::Test {
       }
 };
 
+class ConstAngularVelocityLineScanSensorModel : public ::testing::Test {
+   protected:
+      csm::Isd isd;
+      UsgsAstroLsSensorModel *sensorModel;
+
+      void SetUp() override {
+         sensorModel = NULL;
+
+         isd.setFilename("data/constAngularVelocityLineScan.img");
+         UsgsAstroPlugin cameraPlugin;
+
+         csm::Model *model = cameraPlugin.constructModelFromISD(
+               isd,
+               "USGS_ASTRO_LINE_SCANNER_SENSOR_MODEL");
+         sensorModel = dynamic_cast<UsgsAstroLsSensorModel *>(model);
+
+         ASSERT_NE(sensorModel, nullptr);
+      }
+
+      void TearDown() override {
+         if (sensorModel) {
+            delete sensorModel;
+            sensorModel = NULL;
+         }
+      }
+};
+
 
 
 #endif
diff --git a/tests/LineScanCameraTests.cpp b/tests/LineScanCameraTests.cpp
index 3e809a1c81618b2b32286531ca738cec55187560..025df5cea25c4345ff588a762624a71e9f7ed412 100644
--- a/tests/LineScanCameraTests.cpp
+++ b/tests/LineScanCameraTests.cpp
@@ -25,6 +25,8 @@ TEST_F(ConstVelocityLineScanSensorModel, State) {
    // EXPECT_EQ(sensorModel->getModelState(), modelState);
 }
 
+// Fly by tests
+
 TEST_F(ConstVelocityLineScanSensorModel, Center) {
    csm::ImageCoord imagePt(8.5, 8.0);
    csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
@@ -45,9 +47,9 @@ TEST_F(ConstVelocityLineScanSensorModel, Inversion) {
 TEST_F(ConstVelocityLineScanSensorModel, OffBody1) {
    csm::ImageCoord imagePt(4.5, 4.0);
    csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
-   // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8);
-   // EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8);
-   // EXPECT_NEAR(groundPt.z, 14.99325304, 1e-8);
+   EXPECT_NEAR(groundPt.x, 0.063995905, 1e-8);
+   EXPECT_NEAR(groundPt.y, -7.999488033, 1e-8);
+   EXPECT_NEAR(groundPt.z, 8, 1e-8);
 }
 TEST_F(ConstVelocityLineScanSensorModel, OffBody2) {
    csm::ImageCoord imagePt(4.5, 12.0);
@@ -72,3 +74,55 @@ TEST_F(ConstVelocityLineScanSensorModel, OffBody4) {
    // EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8);
    // EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8);
 }
+
+// Pan tests
+
+TEST_F(ConstAngularVelocityLineScanSensorModel, Center) {
+   csm::ImageCoord imagePt(8.5, 8.0);
+   csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
+   // EXPECT_DOUBLE_EQ(groundPt.x, 10.0);
+   // EXPECT_DOUBLE_EQ(groundPt.y, 0.0);
+   // EXPECT_DOUBLE_EQ(groundPt.z, 0.0);
+
+   std::cerr << sensorModel->getModelState() << std::endl;
+}
+
+TEST_F(ConstAngularVelocityLineScanSensorModel, Inversion) {
+  csm::ImageCoord imagePt(8.5, 8);
+  csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
+  csm::ImageCoord imageReprojPt = sensorModel->groundToImage(groundPt);
+
+  // EXPECT_DOUBLE_EQ(imagePt.line, imageReprojPt.line);
+  // EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp);
+}
+
+TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody1) {
+   csm::ImageCoord imagePt(4.5, 4.0);
+   csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
+   // EXPECT_NEAR(groundPt.x, 0.063995905, 1e-8);
+   // EXPECT_NEAR(groundPt.y, -7.999488033, 1e-8);
+   // EXPECT_NEAR(groundPt.z, 8, 1e-8);
+}
+TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody2) {
+   csm::ImageCoord imagePt(4.5, 12.0);
+   csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
+   // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8);
+   // EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8);
+   // EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8);
+}
+
+TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody3) {
+   csm::ImageCoord imagePt(12.5, 4.0);
+   csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
+   // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8);
+   // EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8);
+   // EXPECT_NEAR(groundPt.z, 14.99325304, 1e-8);
+}
+
+TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody4) {
+   csm::ImageCoord imagePt(12.0, 12.0);
+   csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
+   // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8);
+   // EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8);
+   // EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8);
+}
diff --git a/tests/data/constAngularVelocityLineScan.json b/tests/data/constAngularVelocityLineScan.json
new file mode 100644
index 0000000000000000000000000000000000000000..cf467fd2f3e80e62f9e58e977ddf21dd25688b86
--- /dev/null
+++ b/tests/data/constAngularVelocityLineScan.json
@@ -0,0 +1,92 @@
+{
+  "name_model" : "USGS_ASTRO_LINE_SCANNER_SENSOR_MODEL",
+  "name_platform" : "TEST_PLATFORM",
+  "name_sensor" : "TEST_SENSOR",
+  "center_ephemeris_time": 1000.0,
+  "starting_ephemeris_time": 999.2,
+  "line_scan_rate": [
+    [0.5, -0.8, 0.1]
+  ],
+  "detector_sample_summing": 1,
+  "detector_line_summing": 1,
+  "t0_ephemeris": -0.8,
+  "dt_ephemeris": 0.2,
+  "t0_quaternion": -0.8,
+  "dt_quaternion": 0.2,
+  "focal2pixel_lines": [0.0, 10.0, 0.0],
+  "focal2pixel_samples": [0.0, 0.0, 10.0],
+  "focal_length_model": {
+    "focal_length": 50
+  },
+  "image_lines": 16,
+  "image_samples": 16,
+  "detector_center" : {
+    "line" : 0.5,
+    "sample" : 8.0
+  },
+  "interpolation_method": "lagrange",
+  "optical_distortion": {
+    "radial": {
+      "coefficients": [0.0, 0.0, 0.0]
+    }
+  },
+  "radii": {
+    "semimajor": 10,
+    "semiminor": 10,
+    "unit":"m"
+  },
+  "reference_height": {
+    "maxheight": 1,
+    "minheight": -1,
+    "unit": "m"
+  },
+  "sensor_position": {
+    "unit": "m",
+    "positions": [
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0],
+      [1000.0, 0.0, 0.0]
+    ],
+    "velocities": [
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0],
+      [0.0, 0.0, 0.0]
+    ]
+  },
+  "sensor_orientation": {
+    "quaternions": [
+      [0.0, -0.660435174378928, 0, 0.750883067090392],
+      [0.0, -0.672364256957188, 0, 0.740220444169444],
+      [0.0, -0.68412121795764, 0, 0.729368328857344],
+      [0.0, -0.695703047662478, 0, 0.718329499236346],
+      [0.0, -0.707106781186547, 0.0, 0.707106781186547],
+      [0.0, -0.718329499236346, 0, 0.695703047662478],
+      [0.0, -0.729368328857344, 0, 0.68412121795764],
+      [0.0, -0.740220444169444, 0, 0.672364256957188],
+      [0.0, -0.750883067090392, 0, 0.660435174378928]
+    ]
+  },
+  "starting_detector_line": 0,
+  "starting_detector_sample": 0,
+  "sun_position": {
+    "positions": [
+      [100.0, 100.0, 0.0]
+    ],
+    "velocities": [
+      [0.0, 0.0, 0.0]
+    ],
+    "unit": "m"
+  }
+}
diff --git a/tests/data/constVelocityLineScan.json b/tests/data/constVelocityLineScan.json
index 4c1b74eede9134904528acd9a55d631e3013a50d..142a4b66a34d5384f8d85d5cb584e8c30e3d4c8e 100644
--- a/tests/data/constVelocityLineScan.json
+++ b/tests/data/constVelocityLineScan.json
@@ -16,8 +16,7 @@
   "focal2pixel_lines": [0.0, 10.0, 0.0],
   "focal2pixel_samples": [0.0, 0.0, 10.0],
   "focal_length_model": {
-    "focal_length": 50,
-    "focal_epsilon": 1.0
+    "focal_length": 50
   },
   "image_lines": 16,
   "image_samples": 16,