Index: kernel/classes/datatypes/ezuser/ezuser.php
===================================================================
--- kernel/classes/datatypes/ezuser/ezuser.php	(revision 21774)
+++ kernel/classes/datatypes/ezuser/ezuser.php	(working copy)
@@ -560,6 +560,14 @@
         eZForgotPassword::removeByUserID( $userID );
         eZWishList::removeByUserID( $userID );
 
+        // only remove general digest setting if there are no other users with the same e-mail
+        $email = $user->attribute( 'email' );
+        $usersWithEmailCount = eZPersistentObject::count( eZUser::definition(), array( 'email' => $email ) );
+        if ( $usersWithEmailCount == 1 )
+        {
+            eZGeneralDigestUserSettings::removeByAddress( $email );
+        }
+
         eZPersistentObject::removeObject( eZUser::definition(),
                                           array( 'contentobject_id' => $userID ) );
     }
Index: kernel/classes/notification/handler/ezgeneraldigest/ezgeneraldigestusersettings.php
===================================================================
--- kernel/classes/notification/handler/ezgeneraldigest/ezgeneraldigestusersettings.php	(revision 21774)
+++ kernel/classes/notification/handler/ezgeneraldigest/ezgeneraldigestusersettings.php	(working copy)
@@ -105,6 +105,12 @@
                                                 $asObject );
     }
 
+    static function removeByAddress( $address )
+    {
+        $db = eZDB::instance();
+        $db->query( "DELETE FROM ezgeneral_digest_user_settings WHERE address='" . $db->escapeString( $address ) . "'";
+    }
+
     /*!
      \static
      Removes all general digest settings for all users.
