diff --git a/test/general/openpgp.js b/test/general/openpgp.js
index 1490fee5..4475fb6f 100644
--- a/test/general/openpgp.js
+++ b/test/general/openpgp.js
@@ -2445,6 +2445,48 @@ describe('OpenPGP.js public api tests', function() {
         expect(decrypted.data).to.equal('Tesssst<br><br><br>Sent from ProtonMail mobile<br><br><br>');
       });
 
+      it('should decrypt broken Blowfish message from old OpenPGP.js', async function() {
+        openpgp.crypto.cipher.blowfish.blockSize = 16;
+        openpgp.crypto.cipher.blowfish.prototype.blockSize = 16;
+        const use_nativeVal = openpgp.config.use_native;
+        openpgp.config.use_native = false;
+        try {
+          const { data } = await openpgp.decrypt({
+            passwords: 'test',
+            message: await openpgp.message.readArmored(`-----BEGIN PGP MESSAGE-----
+Version: OpenPGP.js v4.8.1
+Comment: https://openpgpjs.org
+
+wx4EBAMI0eHVbTnl2iLg6pIJ4sWw2K7OwfxFP8bmaUvSRAGiSDGJSFNUuB4v
+SU69Z1XyXiuTpD3780FnLnR4dF41nhbrTXaDG+X1b3JsZCHTFMGF7Eb+YVhh
+YCXOZwd3z5lxcj/M
+=oXcN
+-----END PGP MESSAGE-----`)
+          });
+          expect(data).to.equal('Hello World!');
+        } finally {
+          openpgp.crypto.cipher.blowfish.blockSize = 8;
+          openpgp.crypto.cipher.blowfish.prototype.blockSize = 8;
+          openpgp.config.use_native = use_nativeVal;
+        }
+      });
+
+      it('should decrypt correct Blowfish message from new OpenPGP.js', async function() {
+        const { data } = await openpgp.decrypt({
+          passwords: 'test',
+          message: await openpgp.message.readArmored(`-----BEGIN PGP MESSAGE-----
+Version: OpenPGP.js v4.9.0
+Comment: https://openpgpjs.org
+
+wx4EBAMI7Di70u7hoDfgBUJQ2+1ig6ym3KMjRS9kAovSPAGRQLIPv2DgkINL
+3DUgMNqtQCA23xWhq7Ly6o9H1lRfoAo7V5UElVCqGEX7cgyZjI97alY6Je3o
+amnR6g==
+=rPIK
+-----END PGP MESSAGE-----`)
+        });
+        expect(data).to.equal('Hello World!');
+      });
+
     });
 
     describe('Errors', function() {