diff --git a/src/widgets/ProgressDialog.cpp b/src/widgets/ProgressDialog.cpp
index a5064be23..b79c1bbc0 100644
--- a/src/widgets/ProgressDialog.cpp
+++ b/src/widgets/ProgressDialog.cpp
@@ -52,6 +52,10 @@
 
 #include "../Prefs.h"
 
+#ifdef __WXOSX_COCOA__
+extern "C" void NSBeep(void);
+#endif
+
 // This really should be a Preferences setting
 static const unsigned char beep[] =
 {
@@ -1615,7 +1619,13 @@ void ProgressDialog::Beep() const
 
       if (name.empty())
       {
+#ifdef __WXOSX_COCOA__
+         // wxSound::Create(size_t,const void*) isn't implemented;
+         // use the system beep function.
+         NSBeep();
+#else
          s.Create(sizeof(beep), beep);
+#endif
       }
       else
       {
