diff --git a/pkgs/jni/CHANGELOG.md b/pkgs/jni/CHANGELOG.md
index 9eef5f3..650f98d 100644
--- a/pkgs/jni/CHANGELOG.md
+++ b/pkgs/jni/CHANGELOG.md
@@ -46,6 +46,11 @@
 - `JObject`s now check the types using `instanceof` in debug mode when using
   `castTo`.
 
+## 0.7.3
+
+- Fixed a bug where `get(Static)MethodID` and `get(Static)FieldID` could access
+  null and throw.
+
 ## 0.7.2
 
 - Fixed a bug where reading non-null terminated strings would overflow.
diff --git a/pkgs/jni/src/dartjni.c b/pkgs/jni/src/dartjni.c
index baef731..382c9bc 100644
--- a/pkgs/jni/src/dartjni.c
+++ b/pkgs/jni/src/dartjni.c
@@ -211,25 +211,28 @@
                                       char* name,
                                       char* sig) {
   JniPointerResult result = {NULL, NULL};
-  attach_thread();
   result.value = getter(jniEnv, cls, name, sig);
   result.exception = check_exception();
   return result;
 }
 
 JniPointerResult getMethodID(jclass cls, char* name, char* sig) {
+  attach_thread();
   return _getId((MemberGetter)(*jniEnv)->GetMethodID, cls, name, sig);
 }
 
 JniPointerResult getStaticMethodID(jclass cls, char* name, char* sig) {
+  attach_thread();
   return _getId((MemberGetter)(*jniEnv)->GetStaticMethodID, cls, name, sig);
 }
 
 JniPointerResult getFieldID(jclass cls, char* name, char* sig) {
+  attach_thread();
   return _getId((MemberGetter)(*jniEnv)->GetFieldID, cls, name, sig);
 }
 
 JniPointerResult getStaticFieldID(jclass cls, char* name, char* sig) {
+  attach_thread();
   return _getId((MemberGetter)(*jniEnv)->GetStaticFieldID, cls, name, sig);
 }
 
