402a3b5
diff -up libgcrypt-1.8.3/cipher/md.c.fips-enforce libgcrypt-1.8.3/cipher/md.c
d7ce942
--- libgcrypt-1.8.3/cipher/md.c.fips-enforce	2017-11-23 19:16:58.000000000 +0100
d7ce942
+++ libgcrypt-1.8.3/cipher/md.c	2020-04-17 15:07:31.364945130 +0200
d7ce942
@@ -409,13 +409,10 @@ md_enable (gcry_md_hd_t hd, int algorith
402a3b5
     }
402a3b5
 
402a3b5
 
402a3b5
-  if (!err && algorithm == GCRY_MD_MD5 && fips_mode ())
402a3b5
+  if (!err && !spec->flags.fips && fips_mode ())
402a3b5
     {
d7ce942
-      _gcry_inactivate_fips_mode ("MD5 used");
402a3b5
       if (_gcry_enforced_fips_mode () )
402a3b5
         {
d7ce942
-          /* We should never get to here because we do not register
d7ce942
-             MD5 in enforced fips mode. But better throw an error.  */
d7ce942
           err = GPG_ERR_DIGEST_ALGO;
d7ce942
         }
d7ce942
     }