diff --git a/amavisd-maia b/amavisd-maia
index 589056a..9ed4205 100755
--- a/amavisd-maia
+++ b/amavisd-maia
@@ -3738,8 +3738,8 @@ sub maia_token_generate(){
 }  
 
 # Store e-mail in the database
-sub maia_store_mail($$$$$@) {
-    my($dbh, $msginfo, $oversized, $enable_stats_tracking, $system_default_user_is_local, @local_domain_tables) = @_;
+sub maia_store_mail($$\$$$@) {
+    my($dbh, $msginfo, $oversized, $size_limit, $enable_stats_tracking, $system_default_user_is_local, @local_domain_tables) = @_;
     my($insert, $select, $sth, $sth2, $sth3, @row, @row2, $contents);
     my $size = $1 if ($msginfo->orig_header_size + 1 + $msginfo->orig_body_size) =~ m/^([0-9]+)$/; # untaint
     $size = untaint($size);
@@ -3748,7 +3748,7 @@ sub maia_store_mail($$$$$@) {
     my $subject = "";
     my($header, $mail_id, $recipient, $user_id);
     my($received_date) = strftime("%Y-%m-%d %H:%M:%S",localtime);
-    if (!$oversized) {
+    if (!$$oversized) {
        my($fh) = $msginfo->mail_text;
        $fh->seek(0,0) or die "Can't rewind mail file: $!";
        my(@lines) = <$fh>;
@@ -3756,6 +3756,15 @@ sub maia_store_mail($$$$$@) {
        $contents =~ s/\0//g; # strip nulls
        if (defined $encryption_key) {
            $contents = maia_encrypt_text($encryption_key, $contents);
+           {
+               use bytes;
+               my $encrypted_size = length($contents);
+               $$oversized = $encrypted_size > $size_limit;
+               if ($$oversized) {
+                   do_log(3, sprintf("Maia: [maia_store_mail] WARNING: Size limit (%ld) > size of encrypted message (%ld); changing to oversized status.",
+                          $size_limit, $encrypted_size));
+               }
+           }
        }
        $contents = untaint($contents);
     }
@@ -3777,7 +3786,7 @@ sub maia_store_mail($$$$$@) {
     $subject = untaint($subject);
     $sender = substr($sender, 0, 255) if length($sender) > 255;
 
-    if (!$oversized) {
+    if (!$$oversized) {
         if ($dbtype =~ /^mysql$/si) { # MySQL
 
             $insert = "INSERT INTO maia_mail (received_date, size, sender_email, envelope_to, subject, contents) VALUES (NOW(),?,?,?,?,?)";
@@ -9348,7 +9357,7 @@ sub check_mail($$$$) {
     }
 
     # write mail to maia_mail table
-    $mail_id = maia_store_mail($dbh, $msginfo, $oversized, $enable_stats_tracking,
+    $mail_id = maia_store_mail($dbh, $msginfo, $oversized, $size_limit, $enable_stats_tracking,
                                $system_default_user_is_local,
     		               $local_domains_ldap, \%local_domains,
                                \@local_domains_acl, $local_domains_re);
