diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5cc50222557dc2ea44028dfee5de2666a9227b71..47ff5cbb0221b37a340175551448e03a8a597a1d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -106,6 +106,12 @@ if(WIN32)
 			CACHE FILEPATH "Path to zlibwapi.dll (for installation)")
 	set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2"
 			CACHE PATH "irrlicht dir")
+	if(ENABLE_SOUND)
+		set(OPENAL_DLL "" CACHE FILEPATH "Path to OpenAL32.dll for installation (optional)")
+		set(OGG_DLL "" CACHE FILEPATH "Path to libogg.dll for installation (optional)")
+		set(VORBIS_DLL "" CACHE FILEPATH "Path to libvorbis.dll for installation (optional)")
+		set(VORBISFILE_DLL "" CACHE FILEPATH "Path to libvorbisfile.dll for installation (optional)")
+	endif()
 else()
 	# Unix probably
 	if(BUILD_CLIENT)
@@ -367,6 +373,25 @@ endif()
 #
 # Installation
 #
+if(WIN32)
+	if(DEFINED ZLIB_DLL)
+		install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
+	endif()
+	if(USE_SOUND)
+		if(OPENAL_DLL)
+			install(FILES ${OPENAL_DLL} DESTINATION ${BINDIR})
+		endif()
+		if(OGG_DLL)
+			install(FILES ${OGG_DLL} DESTINATION ${BINDIR})
+		endif()
+		if(VORBIS_DLL)
+			install(FILES ${VORBIS_DLL} DESTINATION ${BINDIR})
+		endif()
+		if(VORBISFILE_DLL)
+			install(FILES ${VORBISFILE_DLL} DESTINATION ${BINDIR})
+		endif()
+	endif()
+endif()
 
 if(BUILD_CLIENT)
 	install(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
@@ -383,9 +408,6 @@ if(BUILD_CLIENT)
 		if(DEFINED IRRLICHT_DLL)
 			install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR})
 		endif()
-		if(DEFINED ZLIB_DLL)
-			install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
-		endif()
 		if(USE_GETTEXT)
 			if(DEFINED GETTEXT_DLL)
 				install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR})