diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index 7ef30efe8f98de8a86466af17476f8c0de23a542..c881a1a29f0b14d4e85f7fd172af2858f778597a 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -904,8 +904,10 @@ static ssize_t cifs_write(struct file *file, const char *write_data,
 				if (rc != 0)
 					break;
 			}
-			if(experimEnabled || (pTcon->ses->server->secMode & 
-			 (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) == 0) {
+			if(experimEnabled || (pTcon->ses->server &&
+				(pTcon->ses->server->secMode & 
+				(SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)
+				== 0))) {
 				struct kvec iov[2];
 				unsigned int len;