diff --git a/ChangeLog b/ChangeLog
index dfa72e86..6d7a1077 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17952,3 +17952,6 @@
 	* Incremented the package version to 3.0.0alpha01.
 2018-10-30 Patrick Linstruth <patrick@deltecent.com>
 	* Added display of warnings from rddbmgr(8) to rddbconfig(8).
+2018-11-01 Fred Gleason <fredg@paravelsystems.com>
+	* Modified rdselect_helper(8) to use the automounter for managing
+	audio store mounts.
diff --git a/lib/librd_cs.ts b/lib/librd_cs.ts
index 16803e90..397d3a64 100644
--- a/lib/librd_cs.ts
+++ b/lib/librd_cs.ts
@@ -681,6 +681,10 @@
         <source>Open RDAdmin-&gt;ManageHosts-&gt;Add to create one.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Unable to update automounter configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RDAddCart</name>
diff --git a/lib/librd_de.ts b/lib/librd_de.ts
index 611a76fb..fb2d97ad 100644
--- a/lib/librd_de.ts
+++ b/lib/librd_de.ts
@@ -677,6 +677,10 @@
         <source>Open RDAdmin-&gt;ManageHosts-&gt;Add to create one.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Unable to update automounter configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RDAddCart</name>
diff --git a/lib/librd_es.ts b/lib/librd_es.ts
index 2d40f5e9..dcbb7d7d 100644
--- a/lib/librd_es.ts
+++ b/lib/librd_es.ts
@@ -677,6 +677,10 @@
         <source>Open RDAdmin-&gt;ManageHosts-&gt;Add to create one.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Unable to update automounter configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RDAddCart</name>
diff --git a/lib/librd_fr.ts b/lib/librd_fr.ts
index d3c0b495..d2d7eef2 100644
--- a/lib/librd_fr.ts
+++ b/lib/librd_fr.ts
@@ -647,6 +647,10 @@
         <source>Open RDAdmin-&gt;ManageHosts-&gt;Add to create one.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Unable to update automounter configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RDAddCart</name>
diff --git a/lib/librd_nb.ts b/lib/librd_nb.ts
index 0d35c44a..d1dd8188 100644
--- a/lib/librd_nb.ts
+++ b/lib/librd_nb.ts
@@ -677,6 +677,10 @@
         <source>Open RDAdmin-&gt;ManageHosts-&gt;Add to create one.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Unable to update automounter configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RDAddCart</name>
diff --git a/lib/librd_nn.ts b/lib/librd_nn.ts
index 0d35c44a..d1dd8188 100644
--- a/lib/librd_nn.ts
+++ b/lib/librd_nn.ts
@@ -677,6 +677,10 @@
         <source>Open RDAdmin-&gt;ManageHosts-&gt;Add to create one.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Unable to update automounter configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RDAddCart</name>
diff --git a/lib/librd_pt_BR.ts b/lib/librd_pt_BR.ts
index 3ae9e9ce..97c5edb2 100644
--- a/lib/librd_pt_BR.ts
+++ b/lib/librd_pt_BR.ts
@@ -677,6 +677,10 @@
         <source>Open RDAdmin-&gt;ManageHosts-&gt;Add to create one.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Unable to update automounter configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>RDAddCart</name>
diff --git a/lib/rdconfig.cpp b/lib/rdconfig.cpp
index 5902eab4..d20d4293 100644
--- a/lib/rdconfig.cpp
+++ b/lib/rdconfig.cpp
@@ -814,6 +814,10 @@ QString RDConfig::rdselectExitCodeText(RDSelectExitCode code)
     ret=QObject::tr("mount(8) crashed");
     break;
 
+  case RDConfig::RDSelectCantAccessAutomount:
+    ret=QObject::tr("Unable to update automounter configuration");
+    break;
+
   case RDConfig::RDSelectLast:
     break;
   }
diff --git a/lib/rdconfig.h b/lib/rdconfig.h
index ffbd2ff4..a0676ffc 100644
--- a/lib/rdconfig.h
+++ b/lib/rdconfig.h
@@ -51,7 +51,8 @@ class RDConfig
 			 RDSelectSymlinkFailed=11,
 			 RDSelectInvalidName=12,
 			 RDSelectMountCrashed=13,
-			 RDSelectLast=14};
+			 RDSelectCantAccessAutomount=14,
+			 RDSelectLast=15};
   RDConfig();
   RDConfig(const QString &filename);
   QString filename() const;
diff --git a/rdselect/Makefile.am b/rdselect/Makefile.am
index 8d44f531..f1b2e56f 100644
--- a/rdselect/Makefile.am
+++ b/rdselect/Makefile.am
@@ -1,6 +1,6 @@
 ## Makefile.am
 ##
-## (C) Copyright 2012,2016-2018 Fred Gleason <fredg@paravelsystems.com>
+## (C) Copyright 2012-2018 Fred Gleason <fredg@paravelsystems.com>
 ##
 ##   This program is free software; you can redistribute it and/or modify
 ##   it under the terms of the GNU General Public License version 2 as
@@ -30,9 +30,13 @@ moc_%.cpp:	%.h
 install-exec-hook:
 	mkdir -p $(DESTDIR)$(prefix)/share/rivendell
 	cp rdselect_*.qm $(DESTDIR)$(prefix)/share/rivendell
+	mkdir -p $(DESTDIR)/etc/auto.master.d
+	cp rd.audiostore.autofs $(DESTDIR)/etc/auto.master.d/
+	touch $(DESTDIR)/etc/auto.rd.audiostore
 
 uninstall-local:	
 	rm -f $(DESTDIR)$(prefix)/share/rivendell/rdselect_*.qm
+	rm -f $(DESTDIR)/etc/auto.master.d/rd.audiostore.autofs
 
 all:	
 	lupdate-qt4 rdselect.pro
@@ -46,7 +50,8 @@ nodist_rdselect_SOURCES = moc_rdselect.cpp
 
 rdselect_LDADD = @LIB_RDLIBS@ @LIBVORBIS@ @QT4_LIBS@ -lQt3Support
 
-EXTRA_DIST = rdselect.pro\
+EXTRA_DIST = rd.audiostore.autofs\
+             rdselect.pro\
              rdselect_cs.ts\
              rdselect_de.ts\
              rdselect_es.ts\
diff --git a/rdselect/rd.audiostore.autofs b/rdselect/rd.audiostore.autofs
new file mode 100644
index 00000000..ef31172d
--- /dev/null
+++ b/rdselect/rd.audiostore.autofs
@@ -0,0 +1 @@
+/-	/etc/auto.rd.audiostore
diff --git a/rivendell.spec.in b/rivendell.spec.in
index 90e310c1..21f0ae4e 100644
--- a/rivendell.spec.in
+++ b/rivendell.spec.in
@@ -45,7 +45,7 @@ Requires: rivendell = @VERSION@, rivendell-webapi = @VERSION@
 
 %package select
 Summary: The RDSelect system selector tool for Rivendell.
-Requires: rivendell = @VERSION@
+Requires: rivendell = @VERSION@, autofs
 
 
 %description
@@ -141,6 +141,7 @@ cp scripts/rd_backup_system.sh $RPM_BUILD_ROOT/@DOC_PATH@/scripts/
 cp scripts/rd_restore_system.sh $RPM_BUILD_ROOT/@DOC_PATH@/scripts/
 cp scripts/engine_conv.py $RPM_BUILD_ROOT/@DOC_PATH@
 cp scripts/init_template_host.py $RPM_BUILD_ROOT/@DOC_PATH@
+rm -f $RPM_BUILD_ROOT/etc/auto.rd.audiostore
 
 
 %post
@@ -467,10 +468,20 @@ rm -rf $RPM_BUILD_ROOT
 %files select
 @LOCAL_PREFIX@/bin/rdselect
 %attr(4755,root,root) @LOCAL_PREFIX@/bin/rdselect_helper
+/etc/auto.master.d/rd.audiostore.autofs
 @LOCAL_PREFIX@/bin/rdmonitor
 /etc/X11/xinit/xinitrc.d/start-rdmonitor.sh
 
 
+%post select
+touch /etc/auto.rd.audiostore
+systemctl restart autofs
+
+
+%postun select
+systemctl restart autofs
+
+
 %changelog
 * @RPM_DATESTAMP@ Fred Gleason <fredg@paravelsystems.com> - @VERSION@-@RPM_RELEASE@
 -- Autogenerated from build tree.
diff --git a/utils/rdselect_helper/rdselect_helper.cpp b/utils/rdselect_helper/rdselect_helper.cpp
index b5de7f5c..d2c9ff44 100644
--- a/utils/rdselect_helper/rdselect_helper.cpp
+++ b/utils/rdselect_helper/rdselect_helper.cpp
@@ -96,38 +96,35 @@ void MainObject::Startup()
 {
   QStringList args;
   QProcess *proc=NULL;
+  FILE *f=NULL;
 
-  //
-  // Mount the audio store
-  //
   if(!helper_config->audioStoreMountSource().isEmpty()) {
-    args.clear();
-    if(!helper_config->audioStoreMountType().isEmpty()) { 
-      args.push_back("-t");
-      args.push_back(helper_config->audioStoreMountType());
+    //
+    // Stop the Automounter
+    //
+    ControlAutomounter("stop");
+
+    //
+    // Update the Automounter
+    //
+    if((f=fopen(RDSELECT_AUTOMOUNT_CONFIG,"w"))==NULL) {
+      fprintf(stderr,
+       "rdselect_helper: unable to open automount configuration \"%s\" [%s]\n",
+	      RDSELECT_AUTOMOUNT_CONFIG,
+	      strerror(errno));
+      exit(RDConfig::RDSelectCantAccessAutomount);
     }
-    args.push_back("-o");
-    if(helper_config->audioStoreMountOptions().isEmpty()) {
-      args.push_back("defaults");
-    }
-    else {
-      args.push_back(helper_config->audioStoreMountOptions());
-    }
-    args.push_back(helper_config->audioStoreMountSource());
-    args.push_back(helper_config->audioRoot());
-    proc=new QProcess(this);
-    proc->start("/bin/mount",args);
-    proc->waitForFinished();
-    if(proc->exitStatus()!=QProcess::NormalExit) {
-      fprintf(stderr,"rdselect_helper: mount(8) command crashed\n");
-      exit(RDConfig::RDSelectMountCrashed);
-    }
-    if(proc->exitCode()!=0) {
-      fprintf(stderr,"rdselect_helper: mount exited with error code %d\n",
-	      proc->exitCode());
-      exit(RDConfig::RDSelectAudioMountFailed);
-    }
-    delete proc;
+    fprintf(f,"%s",RDSELECT_AUTOMOUNT_WARNING);
+    fprintf(f,"%s\t-fstype=%s\t%s\n",
+	    (const char *)helper_config->audioRoot().toUtf8(),
+	    (const char *)helper_config->audioStoreMountType().toUtf8(),
+	    (const char *)helper_config->audioStoreMountSource().toUtf8());
+    fclose(f);
+
+    //
+    // Restart the Automounter
+    //
+    ControlAutomounter("start");
   }
 
   //
@@ -160,6 +157,7 @@ void MainObject::Startup()
 void MainObject::Shutdown()
 {
   QStringList args;
+  FILE *f=NULL;
 
   //
   // Stop Rivendell Service
@@ -179,6 +177,11 @@ void MainObject::Shutdown()
   }
   delete proc;
 
+  //
+  // Stop the Automounter
+  //
+  ControlAutomounter("stop");
+
   //
   // Unmount the audio store
   //
@@ -190,6 +193,46 @@ void MainObject::Shutdown()
       exit(RDConfig::RDSelectAudioUnmountFailed);
     }
   }
+
+  //
+  // Update the Automounter
+  //
+  if((f=fopen(RDSELECT_AUTOMOUNT_CONFIG,"w"))==NULL) {
+    fprintf(stderr,
+      "rdselect_helper: unable to open automount configuration \"%s\" [%s]\n",
+	    RDSELECT_AUTOMOUNT_CONFIG,
+	    strerror(errno));
+    exit(RDConfig::RDSelectCantAccessAutomount);
+  }
+  fprintf(f,"%s",RDSELECT_AUTOMOUNT_WARNING);
+  fclose(f);
+
+  //
+  // Restart the Automounter
+  //
+  ControlAutomounter("start");
+}
+
+
+void MainObject::ControlAutomounter(const QString &cmd)
+{
+  QStringList args;
+
+  args.push_back(cmd);
+  args.push_back("autofs");
+  QProcess *proc=new QProcess(this);
+  proc->start("/bin/systemctl",args);
+  proc->waitForFinished();
+  if(proc->exitStatus()!=QProcess::NormalExit) {
+    fprintf(stderr,"rdselect_helper: systemctl(8) crashed\n");
+    exit(RDConfig::RDSelectSystemctlCrashed);
+  }
+  if(proc->exitCode()!=0) {
+    fprintf(stderr,
+     "rdselect_helper: automounter control failed [systemctl exit code: %d]\n",
+	    proc->exitCode());
+  }
+  delete proc;
 }
 
 
diff --git a/utils/rdselect_helper/rdselect_helper.h b/utils/rdselect_helper/rdselect_helper.h
index d8458a5a..92b8b9f9 100644
--- a/utils/rdselect_helper/rdselect_helper.h
+++ b/utils/rdselect_helper/rdselect_helper.h
@@ -29,6 +29,9 @@
 
 #include "rdconfig.h"
 
+#define RDSELECT_AUTOMOUNT_CONFIG "/etc/auto.rd.audiostore"
+#define RDSELECT_AUTOMOUNT_WARNING "# THE CONTENTS OF THIS FILE ARE MANAGED BY RIVENDELL'S RDSELECT SYSTEM!\n# DO NOT HAND EDIT!\n\n"
+
 class MainObject : public QObject
 {
   Q_OBJECT;
@@ -38,6 +41,7 @@ class MainObject : public QObject
  private:
   void Startup();
   void Shutdown();
+  void ControlAutomounter(const QString &cmd);
   bool ProcessActive(const QStringList &cmds) const;
   bool ModulesActive() const;
   QString helper_config_filename;