diff --git a/NEWS b/NEWS
index 1a0642acf93a3ef8068908367d56084fbb868608..5320bd0eec4408f81859fbd1349614deaf9fc5e5 100644
--- a/NEWS
+++ b/NEWS
@@ -141,6 +141,9 @@ documents those changes that are of interest to users and admins.
     "step_test ... gres_bit_alloc is NULL"
  -- Fix bug that would leak memory and over-write the AllowGroups field if on
     "scontrol reconfig" when AllowNodes is manually changed using scontrol.
+ -- Get html/man files to install in correct places with rpms.
+ -- Remove --program-prefix from spec file since it appears to be added by
+    default and appeared to break other things.
 
 * Changes in Slurm 2.5.7
 ========================
diff --git a/doc/html/Makefile.am b/doc/html/Makefile.am
index e468720cdb2c0d2531c9d59b56b5f651c7debbec..0ba1001cc410a2f554d86814eeccf9f18322ce48 100644
--- a/doc/html/Makefile.am
+++ b/doc/html/Makefile.am
@@ -1,5 +1,5 @@
 
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 
 generated_html = \
 	accounting.html \
diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in
index 08982fbd998032ed70cabf606ef008e83771a365..2cba7b2ac475fe78f743b9268471044445c36d0c 100644
--- a/doc/html/Makefile.in
+++ b/doc/html/Makefile.in
@@ -341,7 +341,7 @@ host_alias = @host_alias@
 host_cpu = @host_cpu@
 host_os = @host_os@
 host_vendor = @host_vendor@
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
diff --git a/doc/man/man1/Makefile.am b/doc/man/man1/Makefile.am
index bd1df9caffd7af0c204e5ce9d6547d1524331674..57be1510f635fb93768274c8bee62f1dedf2e3a6 100644
--- a/doc/man/man1/Makefile.am
+++ b/doc/man/man1/Makefile.am
@@ -1,4 +1,4 @@
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 
 man1_MANS = \
 	sacct.1 \
diff --git a/doc/man/man1/Makefile.in b/doc/man/man1/Makefile.in
index 198721c4b7f1079a1f1853fc77a5c38ebc96559a..be884edf85b5acab7959d367aae933ae2dde81e8 100644
--- a/doc/man/man1/Makefile.in
+++ b/doc/man/man1/Makefile.in
@@ -343,7 +343,7 @@ host_alias = @host_alias@
 host_cpu = @host_cpu@
 host_os = @host_os@
 host_vendor = @host_vendor@
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
diff --git a/doc/man/man5/Makefile.am b/doc/man/man5/Makefile.am
index 0160fa1d4f77cab8ed5491e5b3ea63690f3b5677..6e92b7738da607260939735e462c6ec962c9cddd 100644
--- a/doc/man/man5/Makefile.am
+++ b/doc/man/man5/Makefile.am
@@ -1,4 +1,4 @@
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 
 man5_MANS = \
 	acct_gather.conf.5 \
diff --git a/doc/man/man5/Makefile.in b/doc/man/man5/Makefile.in
index 5eb8699eff7f89227b9ed2cfe74b0b36a1593440..abb6848e38ced7b06f5adee7e2cbda127c9c587d 100644
--- a/doc/man/man5/Makefile.in
+++ b/doc/man/man5/Makefile.in
@@ -343,7 +343,7 @@ host_alias = @host_alias@
 host_cpu = @host_cpu@
 host_os = @host_os@
 host_vendor = @host_vendor@
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
diff --git a/doc/man/man8/Makefile.am b/doc/man/man8/Makefile.am
index 10d64d367fe1d13754f250aa537b430b0ef74f91..294d9de4610972ff418503db37358e2f69f8149e 100644
--- a/doc/man/man8/Makefile.am
+++ b/doc/man/man8/Makefile.am
@@ -1,4 +1,4 @@
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 
 man8_MANS = slurmctld.8 \
 	slurmd.8 \
diff --git a/doc/man/man8/Makefile.in b/doc/man/man8/Makefile.in
index c1b324f7e658b082eb6ad8189ca067463e77852f..75dfcfcc119149eb8a42fcdd129d9876a5f3fe5b 100644
--- a/doc/man/man8/Makefile.in
+++ b/doc/man/man8/Makefile.in
@@ -343,7 +343,7 @@ host_alias = @host_alias@
 host_cpu = @host_cpu@
 host_os = @host_os@
 host_vendor = @host_vendor@
-htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html
+htmldir = ${datadir}/doc/@PACKAGE@-@VERSION@/html
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
diff --git a/slurm.spec b/slurm.spec
index b826401c49d87ada26cd7a775d7ab590fa45e2e2..9d068ea7aac6b4e50d41656778560b8f505c6c5c 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -177,6 +177,20 @@ partition management, job management, scheduling and accounting modules
 %{!?_slurm_sysconfdir: %global _slurm_sysconfdir %{_prefix}/etc/slurm}
 %define _sysconfdir %_slurm_sysconfdir
 
+#  Allow override of datadir via _slurm_datadir.
+%{!?_slurm_datadir: %global _slurm_datadir %{_prefix}/share}
+%define _datadir %{_slurm_datadir}
+
+#  Allow override of mandir via _slurm_mandir.
+%{!?_slurm_mandir: %global _slurm_mandir %{_datadir}/man}
+%define _mandir %{_slurm_mandir}
+
+#  Allow override of infodir via _slurm_infodir.
+#  (Not currently used for anything)
+%{!?_slurm_infodir: %global _slurm_infodir %{_datadir}/info}
+%define _infodir %{_slurm_infodir}
+
+
 #
 # Never allow rpm to strip binaries as this will break
 #  parallel debugging capability
@@ -397,7 +411,7 @@ Gives the ability for SLURM to use Berkeley Lab Checkpoint/Restart
 %setup -n %{name}-%{version}-%{release}
 
 %build
-%configure --program-prefix=%{?_program_prefix:%{_program_prefix}} \
+%configure \
 	%{?slurm_with_debug:--enable-debug} \
 	%{?slurm_with_partial_attach:--enable-partial-attach} \
 	%{?slurm_with_sun_const:--enable-sun-const} \
@@ -616,7 +630,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -f slurm.files
 %defattr(-,root,root,0755)
-%{_mandir}/../doc
+%{_datadir}/doc
 %{_bindir}/s*
 %exclude %{_bindir}/sjobexitmod
 %exclude %{_bindir}/sjstat
@@ -759,6 +773,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/slurm/gres_nic.so
 %{_libdir}/slurm/job_submit_all_partitions.so
 %{_libdir}/slurm/job_submit_defaults.so
+%{_libdir}/slurm/job_submit_all_partitions.so
 %{_libdir}/slurm/job_submit_logging.so
 %{_libdir}/slurm/job_submit_partition.so
 %{_libdir}/slurm/jobacct_gather_aix.so