diff --git a/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni_helper.cpp b/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni_helper.cpp
index 767fad45819d5ead89e8b851e0f1b3d10e523b4e..c649d32aee91d22683211ae71088e1a9212b3e11 100644
--- a/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni_helper.cpp
+++ b/java/android/OlmLibSdk/olm-sdk/src/main/jni/olm_jni_helper.cpp
@@ -62,7 +62,7 @@ bool setRandomInBuffer(JNIEnv *env, uint8_t **aBuffer2Ptr, size_t aRandomSize)
                 newObj = env->NewObject(cls, constructor);
                 jbyteArray tempByteArray = env->NewByteArray(bufferLen);
 
-                if (newObj && tempByteArray)
+                if (newObj && tempByteArray && !env->ExceptionOccurred())
                 {
                     env->CallVoidMethod(newObj, nextByteMethod, tempByteArray);
                     jbyte* buffer = env->GetByteArrayElements(tempByteArray, NULL);