diff --git a/doc/contributions.txt b/doc/contributions.txt
index 7087cf4bb86194b06e862a04e53aa038539f64e7..d8dec69269891f9d80f871c4e9c7b312caf7c6a9 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -557,6 +557,8 @@ Robin Cornelius
 	SNOW-514
 	SNOW-520
 	SNOW-585
+	SNOW-599
+	SNOW-747
 	VWR-2488
 	VWR-9557
 	VWR-11128
diff --git a/indra/cmake/PulseAudio.cmake b/indra/cmake/PulseAudio.cmake
index f8087a80831cc85b19050b0cd3b3596c250e3e08..e918de0198aca68e0b4de20e6e376b3868f88459 100644
--- a/indra/cmake/PulseAudio.cmake
+++ b/indra/cmake/PulseAudio.cmake
@@ -1,28 +1,28 @@
 # -*- cmake -*-
 include(Prebuilt)
 
-if (STANDALONE)
-  include(FindPkgConfig)
+set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.")
 
-  pkg_check_modules(PULSEAUDIO REQUIRED libpulse-mainloop-glib)
+if (PULSEAUDIO)
+  if (STANDALONE)
+    include(FindPkgConfig)
+
+    pkg_check_modules(PULSEAUDIO libpulse)
 
-elseif (LINUX)
-  use_prebuilt_binary(pulseaudio)
-  set(PULSEAUDIO_FOUND ON FORCE BOOL)
-  set(PULSEAUDIO_INCLUDE_DIRS
-      ${LIBS_PREBUILT_DIR}/include
+  elseif (LINUX)
+    use_prebuilt_binary(pulseaudio)
+    set(PULSEAUDIO_FOUND ON FORCE BOOL)
+    set(PULSEAUDIO_INCLUDE_DIRS
+        ${LIBS_PREBUILT_DIR}/include
+        )
+    # We don't need to explicitly link against pulseaudio itself, because
+    # the viewer probes for the system's copy at runtime.
+    set(PULSEAUDIO_LIBRARIES
+      # none needed!
       )
-  # We don't need to explicitly link against pulseaudio itself, because
-  # the viewer probes for the system's copy at runtime.
-  set(PULSEAUDIO_LIBRARIES
-    # none needed!
-    )
-endif (STANDALONE)
+  endif (STANDALONE)
+endif (PULSEAUDIO)
 
 if (PULSEAUDIO_FOUND)
-  set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.")
-endif (PULSEAUDIO_FOUND)
-
-if (PULSEAUDIO)
   add_definitions(-DLL_PULSEAUDIO_ENABLED=1)
-endif (PULSEAUDIO)
+endif (PULSEAUDIO_FOUND)
diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt
index 619b4baeef7678df26d35fc0c23db08f78ea175f..57478ddf27b107fb622c70e40cf785a76276d2b0 100644
--- a/indra/media_plugins/webkit/CMakeLists.txt
+++ b/indra/media_plugins/webkit/CMakeLists.txt
@@ -53,6 +53,8 @@ set(media_plugin_webkit_LINK_LIBRARIES
 if (LINUX)
   if (PULSEAUDIO_FOUND)
     list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp)
+  else (PULSEAUDIO_FOUND)
+    list(APPEND media_plugin_webkit_SOURCE_FILES dummy_volume_catcher.cpp)
   endif (PULSEAUDIO_FOUND)
   list(APPEND media_plugin_webkit_LINK_LIBRARIES
        ${UI_LIBRARIES}     # for glib/GTK
@@ -67,9 +69,6 @@ elseif (DARWIN)
        )
 elseif (WINDOWS)
   list(APPEND media_plugin_webkit_SOURCE_FILES windows_volume_catcher.cpp)
-else (LINUX)
-  # All other platforms use the dummy volume catcher for now.
-  list(APPEND media_plugin_webkit_SOURCE_FILES dummy_volume_catcher.cpp)
 endif (LINUX)
 
 set_source_files_properties(${media_plugin_webkit_HEADER_FILES}