diff --git a/src/bundles/mmcif/src/__init__.py b/src/bundles/mmcif/src/__init__.py
index e68440e..7142686 100644
--- a/src/bundles/mmcif/src/__init__.py
+++ b/src/bundles/mmcif/src/__init__.py
@@ -21,6 +21,16 @@ from .mmcif import (
 
 from chimerax.core.toolshed import BundleAPI
 
+def _fetch_wrapper_dummy(fetch_func):
+    def fetch(session, pdb_id, fetch_source='rcsb', ignore_cache=False,
+            structure_factors=False, over_sampling=1.5, **kw):
+        if structure_factors:
+            from chimerax.core.errors import UserError
+            raise UserError('Loading structure factors requires the ChimeraX-Clipper plugin '
+                'available from the Tool Shed.')
+        return fetch_func(session, pdb_id, ignore_cache=ignore_cache, **kw)
+    return fetch
+
 
 class _PDBioAPI(BundleAPI):
 
@@ -42,13 +52,23 @@ class _PDBioAPI(BundleAPI):
             from chimerax.core.errors import UserError
             raise UserError("Unknown database for fetching mmCIF: '%s'.  Known databases are: %s"
                             % (database_name, ", ".join(list(fetchers.keys()))))
-        return fetcher(session, identifier, ignore_cache=ignore_cache, **kw)
+        try:
+            from chimerax.clipper.io import fetch_cif
+            return fetch_cif.fetch_wrapper(fetcher)(session, identifier, ignore_cache=ignore_cache, **kw)
+        except ImportError:
+            return _fetch_wrapper_dummy(fetcher)(session, identifier, ignore_cache=ignore_cache, **kw)
 
     @staticmethod
     def open_file(session, path, file_name, *, auto_style=True, coordsets=False, atomic=True,
-                  max_models=None, log_info=True, combine_sym_atoms=True):
+                  max_models=None, log_info=True, combine_sym_atoms=True,
+                  structure_factors=False, over_sampling=None):
         # 'open_file' is called by session code to open a file
         # returns (list of models, status message)
+        if structure_factors or over_sampling:
+            from chimerax.core.errors import UserError
+            raise UserError('structureFactors and overSampling arguments are only '
+                'valid when fetching models from an online database.')
+
         from . import mmcif
         return mmcif.open_mmcif(session, path, file_name, auto_style=auto_style,
                                 coordsets=coordsets, atomic=atomic, max_models=max_models,
