diff --git a/src/smblib/smbfile.c b/src/smblib/smbfile.c
index 742682e427c0404933b3b19beee3ba2f31a5ba8f..3cfec9beeeacd061e6caa9432c1d5a1820c23d17 100644
--- a/src/smblib/smbfile.c
+++ b/src/smblib/smbfile.c
@@ -156,7 +156,7 @@ int SMBCALL smb_open_fp(smb_t* smb, FILE** fp, int share)
 	SAFEPRINTF2(path,"%s.%s",smb->file,ext);
 
 	while(1) {
-		if((file=sopen(path,O_RDWR|O_CREAT|O_BINARY,share,S_IREAD|S_IWRITE))!=-1)
+		if((file=sopen(path,O_RDWR|O_CREAT|O_BINARY,share,DEFFILEMODE))!=-1)
 			break;
 		if(get_errno()!=EACCES && get_errno()!=EAGAIN) {
 			safe_snprintf(smb->last_error,sizeof(smb->last_error)