diff --git a/core/src/main/java/org/jclouds/encryption/internal/JCECrypto.java b/core/src/main/java/org/jclouds/encryption/internal/JCECrypto.java
index 9b539b9..4efa54a 100644
--- a/core/src/main/java/org/jclouds/encryption/internal/JCECrypto.java
+++ b/core/src/main/java/org/jclouds/encryption/internal/JCECrypto.java
@@ -63,7 +63,18 @@
 
    @Override
    public Mac hmac(String algorithm, byte[] key) throws NoSuchAlgorithmException, InvalidKeyException {
-      Mac mac = provider == null ? Mac.getInstance(algorithm) : Mac.getInstance(algorithm, provider);
+      Mac mac = null;
+      if(provider != null) {
+          try {
+          mac = Mac.getInstance(algorithm, provider);
+          } catch(Exception e) {
+              //Provider does not function.
+              //Do nothing and let it fallback to the default way.
+          }
+      }
+      if(mac == null) {
+         mac = Mac.getInstance(algorithm);
+      }
       SecretKeySpec signingKey = new SecretKeySpec(key, algorithm);
       mac.init(signingKey);
       return mac;
