diff --git a/src/smblib/smbtxt.c b/src/smblib/smbtxt.c
index 7d9349f92075c6d430d553b54a4fba59d95cf122..316fb1f0bad35b8f643819df2cbeedfed007d3d3 100644
--- a/src/smblib/smbtxt.c
+++ b/src/smblib/smbtxt.c
@@ -314,8 +314,13 @@ static BOOL mime_getattachment(const char* beg, const char* end, char* attachmen
 		if(*filename == '"') {
 			filename++;
 			term = strchr(filename, '"');
-		} else
+		} else {
+			char* wsp = filename;
+			FIND_WHITESPACE(wsp);
 			term = strchr(filename, ';');
+			if(term > wsp)
+				term = wsp;
+		}
 		if(term == NULL) {
 			term = filename;
 			FIND_WHITESPACE(term);