diff --git a/lib/geocoder/stores/mongo_base.rb b/lib/geocoder/stores/mongo_base.rb
index bfc295d2a28196ebd17550911b290f45300c4498..6b5bebc7f8544626cc36dcfb1ec57a11d5c4234c 100644
--- a/lib/geocoder/stores/mongo_base.rb
+++ b/lib/geocoder/stores/mongo_base.rb
@@ -31,8 +31,11 @@ module Geocoder::Store
           field = geocoder_options[:coordinates]
           conds[field] = empty.clone
           conds[field]["$nearSphere"]  = coords.reverse
-          conds[field]["$maxDistance"] = \
-            Geocoder::Calculations.distance_to_radians(radius, options[:units])
+
+          if radius
+            conds[field]["$maxDistance"] = \
+              Geocoder::Calculations.distance_to_radians(radius, options[:units])
+          end
 
           if obj = options[:exclude]
             conds[:_id.ne] = obj.id
diff --git a/test/mongoid_test.rb b/test/mongoid_test.rb
index 1af5e9cd56e64d617b0e0fcee676de9b14925e16..8bd91bc70fdcec8006d90e4e25170887f83e83e0 100644
--- a/test/mongoid_test.rb
+++ b/test/mongoid_test.rb
@@ -36,4 +36,11 @@ class MongoidTest < Test::Unit::TestCase
     result = PlaceWithoutIndex.index_options.keys.flatten[0] == :coordinates
     assert !result
   end
+
+  def test_nil_radius_omits_max_distance
+    location = [40.750354, -73.993371]
+    p = Place.near(location, nil)
+    key = Mongoid::VERSION >= "3" ? "location" : :location
+    assert_equal nil, p.selector[key]['$maxDistance']
+  end
 end