diff --git a/3rdparty/iaxclient/lib/CMakeLists.txt b/3rdparty/iaxclient/lib/CMakeLists.txt
index 328122ebc..f5481d63f 100644
--- a/3rdparty/iaxclient/lib/CMakeLists.txt
+++ b/3rdparty/iaxclient/lib/CMakeLists.txt
@@ -18,7 +18,13 @@ set(LIBIAX2_SOURCES
     libiax2/src/md5.c
 )
 
-find_package(OpenAL REQUIRED)
+if (SG_SOUND_USES_OPENALSOFT)
+    message(STATUS "Using OpenAL-soft for IAX OpenAL backend")
+    find_package(OpenAL CONFIG REQUIRED)
+else()
+    find_package(OpenAL REQUIRED)
+endif()
+
 
 add_library(iaxclient_lib STATIC 
     ${IAXCLIENT_BASE_SOURCES} ${LIBIAX2_SOURCES}
@@ -30,6 +36,11 @@ target_include_directories(iaxclient_lib PRIVATE ${PROJECT_SOURCE_DIR}/3rdparty/
 
 target_compile_definitions(iaxclient_lib PRIVATE AUDIO_OPENAL=1 LIBIAX LIBVER="SVN 261")
 
+# pass this through since it affects how we include al.h
+if (SG_SOUND_USES_OPENALSOFT)
+    target_compile_definitions(iaxclient_lib PRIVATE SG_SOUND_USES_OPENALSOFT)
+endif()
+
 if (APPLE)
     target_compile_definitions(iaxclient_lib PRIVATE MACOSX)
 endif(APPLE)
diff --git a/3rdparty/iaxclient/lib/audio_openal.c b/3rdparty/iaxclient/lib/audio_openal.c
index 1faaf1f0e..408b54a86 100644
--- a/3rdparty/iaxclient/lib/audio_openal.c
+++ b/3rdparty/iaxclient/lib/audio_openal.c
@@ -1,6 +1,6 @@
 #include "iaxclient_lib.h"
 
-#ifdef __APPLE__
+#if defined(__APPLE__) && !defined(SG_SOUND_USES_OPENALSOFT)
 #include <OpenAL/al.h>
 #include <OpenAL/alc.h>
 #elif defined(OPENALSDK)