diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/AnonymizationHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/AnonymizationHandlerMethod.java
index 3b3fe2158b4276a0f90882d689b52870bde695a7..720513b98fef431d0de62aabb15ac0cdfbb1fed8 100644
--- a/src/main/java/org/nrg/xnat/event/listeners/methods/AnonymizationHandlerMethod.java
+++ b/src/main/java/org/nrg/xnat/event/listeners/methods/AnonymizationHandlerMethod.java
@@ -29,18 +29,18 @@ public class AnonymizationHandlerMethod extends AbstractSiteConfigPreferenceHand
     @Override
     public void handlePreferences(final Map<String, String> values) {
         if (!Collections.disjoint(PREFERENCES, values.keySet())) {
-            updateInactivityBeforeLockout();
+            updateAnon();
         }
     }
 
     @Override
     public void handlePreference(final String preference, final String value) {
         if(PREFERENCES.contains(preference)){
-            updateInactivityBeforeLockout();
+            updateAnon();
         }
     }
 
-	private void updateInactivityBeforeLockout(){
+	private void updateAnon(){
         try {
             if (XDAT.getSiteConfigPreferences().getEnableSitewideAnonymizationScript()) {
                 AnonUtils.getService().enableSiteWide(getAdminUser().getLogin(), DicomEdit.buildScriptPath(DicomEdit.ResourceScope.SITE_WIDE, null));
diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/SeriesImportFilterHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/SeriesImportFilterHandlerMethod.java
new file mode 100644
index 0000000000000000000000000000000000000000..2b35c2d232c52125a926cb6f8d19e310b0560e59
--- /dev/null
+++ b/src/main/java/org/nrg/xnat/event/listeners/methods/SeriesImportFilterHandlerMethod.java
@@ -0,0 +1,92 @@
+package org.nrg.xnat.event.listeners.methods;
+
+import com.google.common.collect.ImmutableList;
+import org.nrg.dicomtools.filters.*;
+import org.nrg.xdat.XDAT;
+import org.nrg.xdat.security.helpers.Roles;
+import org.nrg.xdat.security.helpers.Users;
+import org.nrg.xft.security.UserI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class SeriesImportFilterHandlerMethod extends AbstractSiteConfigPreferenceHandlerMethod {
+    @Override
+    public List<String> getHandledPreferences() {
+        return PREFERENCES;
+    }
+
+    @Override
+    public void handlePreferences(final Map<String, String> values) {
+        if (!Collections.disjoint(PREFERENCES, values.keySet())) {
+            updateSeriesImportFilter();
+        }
+    }
+
+    @Override
+    public void handlePreference(final String preference, final String value) {
+        if(PREFERENCES.contains(preference)){
+            updateSeriesImportFilter();
+        }
+    }
+
+	private void updateSeriesImportFilter(){
+        try {
+            final boolean enabled = XDAT.getSiteConfigPreferences().getEnableSitewideSeriesImportFilter();
+            final SeriesImportFilterMode mode = SeriesImportFilterMode.mode(XDAT.getSiteConfigPreferences().getSitewideSeriesImportFilterMode());
+            final String filterContents = XDAT.getSiteConfigPreferences().getSitewideSeriesImportFilter();
+            final SeriesImportFilter seriesImportFilter;
+            if (mode == SeriesImportFilterMode.ModalityMap) {
+                seriesImportFilter = new ModalityMapSeriesImportFilter(filterContents, enabled);
+            } else {
+                seriesImportFilter = new RegExBasedSeriesImportFilter(filterContents, mode, enabled);
+            }
+            if (!seriesImportFilter.equals(getSeriesImportFilter())) {
+                getDicomFilterService().commit(seriesImportFilter, getAdminUser().getLogin(), "Updated site-wide series import filter from administrator UI.");
+            }
+        }
+        catch(Exception e){
+            _log.error("Failed to update Series Import Filter.",e);
+        }
+    }
+
+    private static final Logger       _log        = LoggerFactory.getLogger(SeriesImportFilterHandlerMethod.class);
+    private static final List<String> PREFERENCES = ImmutableList.copyOf(Arrays.asList("enableSitewideSeriesImportFilter", "sitewideSeriesImportFilterMode", "sitewideSeriesImportFilter"));
+
+    private UserI getAdminUser() throws Exception {
+        for (String login : Users.getAllLogins()) {
+            final UserI user = Users.getUser(login);
+            if (Roles.isSiteAdmin(user)) {
+                return user;
+            }
+        }
+        return null;
+    }
+
+    private DicomFilterService getDicomFilterService() {
+        return XDAT.getContextService().getBean(DicomFilterService.class);
+    }
+
+    private SeriesImportFilter getSeriesImportFilter() {
+        DicomFilterService service = getDicomFilterService();
+        if (service != null) {
+            return service.getSeriesImportFilter();
+        }
+        else{
+            return null;
+        }
+    }
+
+    @Autowired
+    @Lazy
+    private JdbcTemplate _template;
+}
diff --git a/src/main/resources/META-INF/xnat/spawner/site-admin-elements.yaml b/src/main/resources/META-INF/xnat/spawner/site-admin-elements.yaml
index c3971c66b3605028c64d681a9c81b3daae1f3d20..d6b7ecbe035f320ad0d4c8deaad3aebf0bef68f8 100644
--- a/src/main/resources/META-INF/xnat/spawner/site-admin-elements.yaml
+++ b/src/main/resources/META-INF/xnat/spawner/site-admin-elements.yaml
@@ -971,6 +971,9 @@ seriesImportFilter:
                 blacklist:
                     label: Blacklist
                     value: blacklist
+                modalityMap:
+                    label: Modality Map
+                    value: modalityMap
         sitewideSeriesImportFilter:
             kind: panel.textarea
             id: sitewideSeriesImportFilter