diff --git a/src/encode/lzh.h b/src/encode/lzh.h
index b6dd8cff239263bfb6d679bd5a56865337ff40cd..972354e27c4c57d7551ded5e7766b649f9cd4acb 100644
--- a/src/encode/lzh.h
+++ b/src/encode/lzh.h
@@ -44,10 +44,14 @@
 	#else
 		#define LZHCALL
 	#endif
-	#ifdef LZHDLL
-		#define LZHEXPORT __declspec( dllexport )
-	#else
-		#define LZHEXPORT __declspec( dllimport )
+	#ifdef LZHDLL	/* LZH functions in DLL */
+		#ifdef LZH_EXPORTS
+			#define LZHEXPORT __declspec( dllexport )
+		#else
+			#define LZHEXPORT __declspec( dllimport )
+		#endif
+	#else			/* self-contained executable */
+		#define LZHEXPORT
 	#endif
 #else	/* !_WIN32 */
 	#define LZHCALL