diff --git a/modules/mol/base/pymod/export_coord_group.cc b/modules/mol/base/pymod/export_coord_group.cc
index a445e74c079e0d2074f3b6bd3e4ce6b7a520ec0a..790337cb10ab46202599675d7dbae0b2ae3fd3b7 100644
--- a/modules/mol/base/pymod/export_coord_group.cc
+++ b/modules/mol/base/pymod/export_coord_group.cc
@@ -75,7 +75,7 @@ void export_CoordGroup()
     .add_property("start_time",&CoordGroupHandle::GetStartTime,&CoordGroupHandle::SetStartTime)
     .def("__getitem__",cg_getitem)
     .def("__setitem__",cg_setitem)
-    .def("Filter", &CoordGroupHandle::Filter, (arg("selected"),arg("first")=0,arg("last")=-1))
+    .def("Filter", &CoordGroupHandle::Filter, (arg("selected"),arg("first")=0,arg("last")=-1,arg("stride")=1))
   ;
 
   def("CreateCoordGroup",CreateCoordGroup);
diff --git a/modules/mol/base/src/coord_group.cc b/modules/mol/base/src/coord_group.cc
index d02eecc2751e49fc66ac64579a102ce632615265..1edd38b4542f2b03be5d561c59b7f66a948d5e42 100644
--- a/modules/mol/base/src/coord_group.cc
+++ b/modules/mol/base/src/coord_group.cc
@@ -220,7 +220,7 @@ void CoordGroupHandle::Capture(uint frame)
   }  
 }
 
-CoordGroupHandle CoordGroupHandle::Filter(const EntityView& selected, int first, int last) const
+CoordGroupHandle CoordGroupHandle::Filter(const EntityView& selected, int first, int last, int stride) const
 {
   this->CheckValidity();
   std::vector<unsigned long> indices;
@@ -248,7 +248,8 @@ CoordGroupHandle CoordGroupHandle::Filter(const EntityView& selected, int first,
   CoordGroupHandle filtered_cg=CreateCoordGroup(new_ent.GetAtomList());
   std::vector<geom::Vec3> vecs(indices.size());
   if (last==-1) last=this->GetFrameCount();
-  for (int i=first; i<last; ++i) {
+  if (stride<=0) stride=1;
+  for (int i=first; i<last; i=i+stride) {
     LOG_INFO("Filtering frame " << i << "/" << last);
     CoordFramePtr frame=this->GetFrame(i);
     for (std::vector<unsigned long>::const_iterator 
diff --git a/modules/mol/base/src/coord_group.hh b/modules/mol/base/src/coord_group.hh
index 623f745efbb3bc37411d93279ee99baa5c5fb7f5..c9ea57e4efef9f7e07a5f9e868220f50587d050b 100644
--- a/modules/mol/base/src/coord_group.hh
+++ b/modules/mol/base/src/coord_group.hh
@@ -109,7 +109,7 @@ public:
   
   /// \brief return a filtered coord group, containing only the atoms in the 
   ///     view
-  CoordGroupHandle Filter(const EntityView& selected,int first=0,int last=-1) const;
+  CoordGroupHandle Filter(const EntityView& selected,int first=0,int last=-1,int stride=1) const;
 
   /// \brief apply in-place transform to each coordinate in each frame
   void ApplyTransform(const geom::Transform& tf);