diff --git a/src/class_linker.cc b/src/class_linker.cc
index 62d3df7..bc8e333 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1386,8 +1386,6 @@
   uint32_t access_flags = dex_class_def.access_flags_;
   // Make sure that none of our runtime-only flags are set.
   CHECK_EQ(access_flags & ~kAccJavaFlagsMask, 0U);
-  // Set ACC_SUPER; dex files don't contain this flag, but all classes are supposed to have it set.
-  access_flags |= kAccSuper;
   klass->SetAccessFlags(access_flags);
   klass->SetClassLoader(class_loader);
   DCHECK_EQ(klass->GetPrimitiveType(), Primitive::kPrimNot);
diff --git a/src/jdwp/jdwp_handler.cc b/src/jdwp/jdwp_handler.cc
index 99916bd..7914aa7 100644
--- a/src/jdwp/jdwp_handler.cc
+++ b/src/jdwp/jdwp_handler.cc
@@ -469,15 +469,17 @@
   return ERR_NONE;
 }
 
-/*
- * Return the modifiers (a/k/a access flags) for a reference type.
- */
 static JdwpError handleRT_Modifiers(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
   RefTypeId refTypeId = ReadRefTypeId(&buf);
   uint32_t access_flags;
   if (!Dbg::GetAccessFlags(refTypeId, access_flags)) {
     return ERR_INVALID_CLASS;
   }
+
+  // Set ACC_SUPER; dex files don't contain this flag, but all classes are supposed to have it set.
+  // Class.getModifiers doesn't return it, but JDWP does, so we set it here.
+  access_flags |= kAccSuper;
+
   expandBufAdd4BE(pReply, access_flags);
   return ERR_NONE;
 }
diff --git a/test/003-omnibus-opcodes/expected.txt b/test/003-omnibus-opcodes/expected.txt
index 3e7ce84..33322eb 100644
--- a/test/003-omnibus-opcodes/expected.txt
+++ b/test/003-omnibus-opcodes/expected.txt
@@ -69,11 +69,19 @@
 UnresTest1...
 UnresTest2...
 java.lang.ClassNotFoundException: Didn't find class "UnresClass" on path: /data/art-test/003-omnibus-opcodes.jar
-	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
-	at java.lang.ClassLoader.loadClass(ClassLoader.java:509)
+	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
 	at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
 	at UnresTest2.run(UnresTest2.java:33)
 	at Main.run(Main.java:64)
 	at Main.main(Main.java:26)
+	Suppressed: java.lang.ClassNotFoundException: UnresClass
+		at java.lang.Class.classForName(Native Method)
+		at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
+		at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
+		at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
+		... 4 more
+	Caused by: java.lang.NoClassDefFoundError: Class "LUnresClass;" not found
+		... 8 more
 InternedString.run
 Done!
