diff --git a/modules/citrus-ws/src/main/java/com/consol/citrus/ws/actions/ReceiveSoapMessageAction.java b/modules/citrus-ws/src/main/java/com/consol/citrus/ws/actions/ReceiveSoapMessageAction.java
index <HASH>..<HASH> 100644
--- a/modules/citrus-ws/src/main/java/com/consol/citrus/ws/actions/ReceiveSoapMessageAction.java
+++ b/modules/citrus-ws/src/main/java/com/consol/citrus/ws/actions/ReceiveSoapMessageAction.java
@@ -64,10 +64,17 @@ public class ReceiveSoapMessageAction extends ReceiveMessageAction {
             } else {
                 return; //no attachment expected, no validation
             }
+            
+            // handle variables in content id
             if (controlAttachment.getContentId() != null) {
             	controlAttachment.setContentId(context.replaceDynamicContentInString(controlAttachment.getContentId()));
             }
             
+            // handle variables in content type
+            if (controlAttachment.getContentType() != null) {
+                controlAttachment.setContentType(context.replaceDynamicContentInString(controlAttachment.getContentType()));
+            }
+            
             attachmentValidator.validateAttachment(receivedMessage, controlAttachment);
         } catch (IOException e) {
             throw new CitrusRuntimeException(e);
Handle variables in content type before SOAP attachment validation