diff --git a/config/lustre-build.m4 b/config/lustre-build.m4
index 747a987465c92d55a5d62c726747b9ff3f198f85..1779ca481a8fa740ff3eeef45dbcedffd11a8e71 100644
--- a/config/lustre-build.m4
+++ b/config/lustre-build.m4
@@ -510,6 +510,9 @@ fi
 if test x$USE_DLC = xyes ; then
 	RPMBINARGS="$RPMBINARGS --with lnet_dlc"
 fi
+if test x$enable_snmp != xyes ; then
+	RPMBINARGS="$RPMBINARGS --without snmp"
+fi
 if test x$enable_manpages != xyes ; then
 	RPMBINARGS="$RPMBINARGS --without manpages"
 fi
diff --git a/lustre.spec.in b/lustre.spec.in
index fc1a301fd570870eb4bfd92138f672251ebc34c7..855d4357629bafe9baaaa0d33bfdfe718e72b62a 100644
--- a/lustre.spec.in
+++ b/lustre.spec.in
@@ -9,6 +9,7 @@
 %bcond_without lustre_iokit
 %bcond_without lustre_modules
 %bcond_with lnet_dlc
+%bcond_with snmp
 %bcond_without manpages
 %bcond_without shared
 %bcond_without static
@@ -309,6 +310,7 @@ fi
 	%{!?with_servers:--disable-server} \
 	%{!?with_zfs:--without-zfs} \
 	%{!?with_lnet_dlc:--disable-dlc} \
+	%{!?with_snmp:--disable-snmp} \
 	%{!?with_manpages:--disable-manpages} \
 	%{!?with_systemd:--with-systemdsystemunitdir=no} \
 	%{?with_systemd:--with-systemdsystemunitdir=%{_unitdir}} \
@@ -399,13 +401,16 @@ echo '%attr(-, root, root) %{_libdir}/liblnetconfig.so.*' >>lustre.files
 echo '%{_libdir}/libiam.a' >>lustre.files
 %endif
 
-if [ -d $RPM_BUILD_ROOT%{_libdir}/lustre/snmp ] ; then
-	echo '%{_libdir}/lustre/snmp' >>lustre.files
-fi
+%if %{with snmp}
+mkdir -p $RPM_BUILD_ROOT/%{_libdir}/lustre/snmp
+echo '%{_libdir}/lustre/snmp' >>lustre.files
+%endif
 
 %if %{with lustre_utils}
 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/lustre
-find $RPM_BUILD_ROOT%{_libdir}/@PACKAGE@ -name \*.la -type f -exec rm -f {} \;
+if [ -d $RPM_BUILD_ROOT%{_libdir}/lustre ] ; then
+	find $RPM_BUILD_ROOT%{_libdir}/@PACKAGE@ -name \*.la -type f -exec rm -f {} \;
+fi
 %endif
 
 %if %{with lustre_modules}