diff --git a/app/src/main/java/com/m2049r/xmrwallet/util/BitcoinAddressValidator.java b/app/src/main/java/com/m2049r/xmrwallet/util/BitcoinAddressValidator.java
index b1506eb5..05d2b1e0 100644
--- a/app/src/main/java/com/m2049r/xmrwallet/util/BitcoinAddressValidator.java
+++ b/app/src/main/java/com/m2049r/xmrwallet/util/BitcoinAddressValidator.java
@@ -66,6 +66,8 @@ public class BitcoinAddressValidator {
 
         byte[] result = new byte[25];
         byte[] numBytes = num.toByteArray();
+        if (numBytes.length > result.length) return null;
+
         if (num.bitLength() == 200) {
             System.arraycopy(numBytes, 1, result, 0, 25);
         } else {
diff --git a/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java b/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java
index 6db06317..2e3521ca 100644
--- a/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java
+++ b/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java
@@ -284,7 +284,9 @@ public class KeyStoreHelper {
 
     private static byte[] decrypt(String alias, byte[] data) {
         try {
-            PrivateKey privateKey = getPrivateKeyEntry(alias).getPrivateKey();
+            KeyStore.PrivateKeyEntry pke = getPrivateKeyEntry(alias);
+            if (pke == null) return null;
+            PrivateKey privateKey = pke.getPrivateKey();
             Cipher cipher = Cipher.getInstance(SecurityConstants.CIPHER_RSA_ECB_PKCS1);
 
             cipher.init(Cipher.DECRYPT_MODE, privateKey);
@@ -305,7 +307,8 @@ public class KeyStoreHelper {
      */
     private static byte[] signData(String alias, byte[] data) throws NoSuchAlgorithmException,
             InvalidKeyException, SignatureException {
-
+        KeyStore.PrivateKeyEntry pke = getPrivateKeyEntry(alias);
+        if (pke == null) return null;
         PrivateKey privateKey = getPrivateKeyEntry(alias).getPrivateKey();
         Signature s = Signature.getInstance(SecurityConstants.SIGNATURE_SHA256withRSA);
         s.initSign(privateKey);