diff --git a/src/smblib/smblib.h b/src/smblib/smblib.h
index d389b9aed625f8377d4dfb1eba2c8f2266b37c52..88b6de5c3c913cbbb164cb71e05cdccf627f7205 100644
--- a/src/smblib/smblib.h
+++ b/src/smblib/smblib.h
@@ -53,10 +53,14 @@
 	#else
 		#define SMBCALL
 	#endif
-	#ifdef SMBDLL
-		#define SMBEXPORT __declspec( dllexport )
-	#else
-		#define SMBEXPORT __declspec( dllimport )
+	#ifdef SMBDLL	/* SMBLIB contained in DLL */
+		#ifdef SMB_EXPORTS
+			#define SMBEXPORT __declspec( dllexport )
+		#else
+			#define SMBEXPORT __declspec( dllimport )
+		#endif
+	#else	/* self-contained executable */
+		#define SMBEXPORT
 	#endif
 #elif defined __unix__
 	#define SMBCALL