diff --git a/loopy/kernel/instruction.py b/loopy/kernel/instruction.py
index be9dd93fa69b323412def74852a705adf54570b4..cce65a52209de297152e4f0adafa63ca253004d7 100644
--- a/loopy/kernel/instruction.py
+++ b/loopy/kernel/instruction.py
@@ -623,13 +623,13 @@ class OrderedAtomic(VarAtomicity):
         :class:`pytools.persistent_dict.PersistentDict`.
         """
 
-        super(AtomicUpdate, self).update_persistent_hash(key_hash, key_builder)
+        super(OrderedAtomic, self).update_persistent_hash(key_hash, key_builder)
         key_builder.rec(key_hash, str(self.__class__.__name__))
         key_builder.rec(key_hash, self.ordering)
         key_builder.rec(key_hash, self.scope)
 
     def __eq__(self, other):
-        return (super(AtomicUpdate, self).__eq__(other)
+        return (super(OrderedAtomic, self).__eq__(other)
                 and self.ordering == other.ordering
                 and self.scope == other.scope)
 
diff --git a/test/test_loopy.py b/test/test_loopy.py
index 6fecef421ce47b9f8c5295be11488c2bcf49d80c..54a304d40f23aafc9c223fae39b3d608e9ae572d 100644
--- a/test/test_loopy.py
+++ b/test/test_loopy.py
@@ -1054,13 +1054,14 @@ def test_atomic_load(ctx_factory):
                 lp.GlobalArg("a", dtype, shape=lp.auto),
                 lp.GlobalArg("b", dtype, shape=lp.auto),
                 lp.TemporaryVariable('temp', dtype, for_atomic=True,
-                                     scope=scopes.LOCAL, shape=(1,)),
+                                     scope=scopes.LOCAL, shape=(vec_width,)),
                 "..."
-                ])
+                ],
+            silenced_warnings=["write_race(init)", "write_race(temp_sum)"])
 
     knl = lp.split_iname(knl, "j", vec_width, inner_tag="l.0")
     _, out = knl(queue, a=np.arange(n, dtype=dtype), b=np.arange(n, dtype=dtype))
-    assert np.allclose(out, np.full_like(out, (-(2 * n - 1) / (3 * vec_width))))
+    assert np.allclose(out, np.full_like(out, (-(2 * n - 1) / float(3 * vec_width))))
 
 
 def test_within_inames_and_reduction():