diff --git a/unix/modjni.c b/unix/modjni.c
index b4af9ca93c202601285b0a2b09cf58c5dbce111d..44a0b47e7a371c8806c0ce6740ffdadba67da4bd 100644
--- a/unix/modjni.c
+++ b/unix/modjni.c
@@ -378,12 +378,16 @@ STATIC mp_obj_t call_method(jobject obj, const char *name, jarray methods, bool
                 }
 
                 JJ(ReleaseStringUTFChars, name_o, decl);
+                JJ(DeleteLocalRef, name_o);
+                JJ(DeleteLocalRef, meth);
                 return ret;
             }
         }
 
 next_method:
         JJ(ReleaseStringUTFChars, name_o, decl);
+        JJ(DeleteLocalRef, name_o);
+        JJ(DeleteLocalRef, meth);
     }
 
     nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "method not found"));