diff --git a/include/class.mailer.php b/include/class.mailer.php
index 5cd4dfc4b239a0ea31e3cac436ab8fa570f9201a..49b15ec285a0f84176cc5f235389e2dc970f51f2 100644
--- a/include/class.mailer.php
+++ b/include/class.mailer.php
@@ -225,7 +225,8 @@ class Mailer {
         'B' => function($id, $tag) use ($self) {
             $format = 'Vuid/VentryId/VthreadId/auserClass/a*sig';
             if ($tag && ($tag = base64_decode($tag))) {
-                $info = unpack($format, $tag);
+                if (!($info = @unpack($format, $tag)) || !isset($info['sig']))
+                    return false;
                 $sysid = $self::getSystemMessageIdCode();
                 $shorttag = substr($tag, 0, 13);
                 $chksig = substr(hash_hmac('sha1', $shorttag.$id.$sysid,