diff --git a/test/errors_test.rb b/test/errors_test.rb
index <HASH>..<HASH> 100644
--- a/test/errors_test.rb
+++ b/test/errors_test.rb
@@ -4,6 +4,9 @@ class ErrorsTest < Rugged::TestCase
 
   def test_rugged_error_classes_exist
     error_classes = [
+      Rugged::NoMemError,
+      Rugged::OSError,
+	    Rugged::InvalidError,
       Rugged::Error,
       Rugged::ReferenceError,
       Rugged::ZlibError,
@@ -19,8 +22,12 @@ class ErrorsTest < Rugged::TestCase
       Rugged::IndexerError
     ]
 
-    error_classes.each do |err|
-      assert_equal err.class, Class
+    # All should descend from StandardError (correctly), except 
+    # Rugged::NoMemError which descends from Ruby's built-in NoMemoryError,
+    # which descends from Exception
+    error_classes.each do |klass|
+      err = klass.new
+      assert err.is_a?(StandardError) || err.is_a?(Exception)
     end
   end
 end
A more expression version of the errors test