diff --git a/build.py b/build.py
index ef31ebbb1cdd98a90cc7ccfe7b0726dfcd431cb4..cdb4f9d9481464fefbf6994dee7dcc4f983936e1 100755
--- a/build.py
+++ b/build.py
@@ -394,7 +394,12 @@ def run_install(args):
 
         environ['CMAKE_PREFIX_PATH'] = proc.stdout.rstrip("\n")
         environ['CONFIGURE_FLAGS'] = '--without-dbus'
-        install_args += ("-c", "client-macosx")
+        if args.qt is None:
+            install_args += ("-c", "client-macosx")
+        else:
+            install_args += ("-c", "client-qt")
+            install_args += ("-q", args.qtver)
+            install_args += ("-Q", args.qt)
     else:
         if args.distribution in ZYPPER_BASED_DISTROS:
             # fix jsoncpp pkg-config bug, remove when jsoncpp package bumped
@@ -592,6 +597,7 @@ def validate_args(parsed_args):
     if parsed_args.qt is not None:
         supported_qt_distros = [
             'guix',
+            OSX_DISTRIBUTION_NAME,
             WIN32_DISTRIBUTION_NAME
         ] + APT_BASED_DISTROS + DNF_BASED_DISTROS + PACMAN_BASED_DISTROS
 
diff --git a/scripts/install.sh b/scripts/install.sh
index 89bab04a8f9a0d355918f09b5fcc1a7e94d3ec2f..8d75b6f4eed945918e38b51662a125b4b9459624 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -130,6 +130,8 @@ if [ "${client}" = "client-qt" ] && [ -z "$qt6path" ]; then
         sys_qt6ver=$(qmake -v)
     elif command -v qmake-qt6 &> /dev/null; then
         sys_qt6ver=$(qmake-qt6 -v)   # Fedora
+    elif command -v qmake6 &> /dev/null; then
+        sys_qt6ver=$(qmake6 -v) # macOS
     else
         echo "No valid Qt found"; exit 1;
     fi