diff --git a/common/source/java/ch/systemsx/cisd/common/mail/IMailClient.java b/common/source/java/ch/systemsx/cisd/common/mail/IMailClient.java
index 4abc0f3ebde9a7b98c5d363c9ffbcebe78cf3d03..bfa06bbdd9a5da48ceb876bd272be9568c6e1de9 100644
--- a/common/source/java/ch/systemsx/cisd/common/mail/IMailClient.java
+++ b/common/source/java/ch/systemsx/cisd/common/mail/IMailClient.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.common.mail;
 
+import javax.activation.DataHandler;
+
 import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 
 /**
@@ -38,4 +40,17 @@ public interface IMailClient
     public void sendMessage(String subject, String content, String replyToOrNull, From fromOrNull,
             String... recipients) throws EnvironmentFailureException;
 
+    /**
+     * Sends a mail with given <var>subject</var> and <var>content</var> to given
+     * <var>recipients</var>, includig the given <var>attachment</var>
+     * 
+     * @param replyToOrNull reply-to part of the email header. Can be <code>null</code>.
+     * @param fromOrNull from part of the email header. Can be <code>null</code>. If specified -
+     *            will overwrite the 'from' value specified for the client.
+     * @param recipients list of recipients (of type <code>Message.RecipientType.TO</code>)
+     */
+    public void sendMessageWithAttachment(final String subject, final String content,
+            final String filename, final DataHandler attachmentContent, final String replyToOrNull,
+            final From fromOrNull, final String... recipients) throws EnvironmentFailureException;
+
 }
\ No newline at end of file
diff --git a/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/StorageProcessor.java b/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/StorageProcessor.java
index 2be388247f5f731cb3885fbd73962bfc9a31128c..49407936743429cdbbf7ed0883d3e152292a41bf 100644
--- a/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/StorageProcessor.java
+++ b/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/StorageProcessor.java
@@ -21,7 +21,6 @@ import java.util.Properties;
 
 import ch.systemsx.cisd.cina.dss.info.EntityRegistrationSuccessEmail;
 import ch.systemsx.cisd.common.mail.IMailClient;
-import ch.systemsx.cisd.common.mail.MailClient;
 import ch.systemsx.cisd.etlserver.AbstractDelegatingStorageProcessor;
 import ch.systemsx.cisd.etlserver.IStorageProcessor;
 import ch.systemsx.cisd.etlserver.ITypeExtractor;
@@ -75,21 +74,9 @@ public class StorageProcessor extends AbstractDelegatingStorageProcessor
             emailAddress = defaultEmailAddress;
         }
 
-        // WORKAROUND: The IMailClient interface is used in many places. I added the
-        // sendMessageWithAttachment method to the MailClient class, but I don't want to make a
-        // large, global change to introduce the method into the interface, so I do an instanceof
-        // test here.
-        if (mailClient instanceof MailClient)
-        {
-            ((MailClient) mailClient).sendMessageWithAttachment(successEmail.getSubject(),
-                    successEmail.getContentMimeText(), successEmail
-                            .getContentMimeAttachmentFileName(), successEmail
-                            .getContentMimeAttachmentContent(), null, null, emailAddress);
-        } else
-        {
-            mailClient.sendMessage(successEmail.getSubject(), successEmail.getContentTextOnly(),
-                    null, null, emailAddress);
-        }
+        mailClient.sendMessageWithAttachment(successEmail.getSubject(), successEmail
+                .getContentMimeText(), successEmail.getContentMimeAttachmentFileName(),
+                successEmail.getContentMimeAttachmentContent(), null, null, emailAddress);
 
         return answer;
     }