diff --git a/src/geometry.cpp b/src/geometry.cpp
index 8e6519fa86..06d35cacec 100644
--- a/src/geometry.cpp
+++ b/src/geometry.cpp
@@ -247,6 +247,12 @@ find_cell_inner(Particle& p, const NeighborList* neighbor_list)
bool neighbor_list_find_cell(Particle& p)
{
+
+ // Reset all the deeper coordinate levels.
+ for (int i = p.n_coord_; i < p.coord_.size(); i++) {
+ p.coord_[i].reset();
+ }
+
// Get the cell this particle was in previously.
auto coord_lvl = p.n_coord_ - 1;
auto i_cell = p.coord_[coord_lvl].cell;
diff --git a/tests/regression_tests/adj_cell_rotation/__init__.py b/tests/regression_tests/adj_cell_rotation/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tests/regression_tests/adj_cell_rotation/inputs_true.dat b/tests/regression_tests/adj_cell_rotation/inputs_true.dat
new file mode 100644
index 0000000000..24b00199be
--- /dev/null
+++ b/tests/regression_tests/adj_cell_rotation/inputs_true.dat
@@ -0,0 +1,38 @@
+
+
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ eigenvalue
+ 10000
+ 10
+ 5
+
+
+ -4.0 -4.0 -4.0 4.0 4.0 4.0
+
+
+
diff --git a/tests/regression_tests/adj_cell_rotation/results_true.dat b/tests/regression_tests/adj_cell_rotation/results_true.dat
new file mode 100644
index 0000000000..a58aa1c8ec
--- /dev/null
+++ b/tests/regression_tests/adj_cell_rotation/results_true.dat
@@ -0,0 +1,2 @@
+k-combined:
+4.453328E-01 5.918369E-03
diff --git a/tests/regression_tests/adj_cell_rotation/test.py b/tests/regression_tests/adj_cell_rotation/test.py
new file mode 100644
index 0000000000..25aada5aad
--- /dev/null
+++ b/tests/regression_tests/adj_cell_rotation/test.py
@@ -0,0 +1,50 @@
+import pytest
+import openmc
+
+from tests.testing_harness import PyAPITestHarness
+
+
+@pytest.fixture
+def model():
+ model = openmc.model.Model()
+
+ fuel = openmc.Material()
+ fuel.set_density('g/cc', 10.0)
+ fuel.add_nuclide('U235', 1.0)
+
+ h1 = openmc.Material()
+ h1.set_density('g/cc', 0.1)
+ h1.add_nuclide('H1', 0.1)
+
+ inner_sphere = openmc.Sphere(x0=1.0, r=5.0)
+
+ fuel_cell = openmc.Cell(fill=fuel, region=-inner_sphere)
+ hydrogen_cell = openmc.Cell(fill=h1, region=+inner_sphere)
+ univ = openmc.Universe(cells=[fuel_cell, hydrogen_cell])
+
+ # Create one cell on top of the other. Only one
+ # has a rotation
+ box = openmc.rectangular_prism(15., 15., 'z', boundary_type='vacuum')
+ lower_z = openmc.ZPlane(-7.5, boundary_type='vacuum')
+ upper_z = openmc.ZPlane(22.5, boundary_type='vacuum')
+ middle_z = openmc.ZPlane(7.5)
+
+ lower_cell = openmc.Cell(fill=univ, region=box & +lower_z & -middle_z)
+ lower_cell.rotation = (10, 20, 30)
+ upper_cell = openmc.Cell(fill=univ, region=box & +middle_z & -upper_z)
+ upper_cell.translation = (0, 0, 15)
+
+ model.geometry = openmc.Geometry(root=[lower_cell, upper_cell])
+
+ model.settings.particles = 10000
+ model.settings.inactive = 5
+ model.settings.batches = 10
+ source_box = openmc.stats.Box((-4., -4., -4.), (4., 4., 4.))
+ model.settings.source = openmc.Source(space=source_box)
+
+ return model
+
+
+def test_rotation(model):
+ harness = PyAPITestHarness('statepoint.10.h5', model)
+ harness.main()