diff --git a/lib/tasks/geocoder.rake b/lib/tasks/geocoder.rake
index f235e1b51b2cb047021042a5d4719f3e4233ab40..33ed4829e1ed76c624106d0fae5deefef82378f7 100644
--- a/lib/tasks/geocoder.rake
+++ b/lib/tasks/geocoder.rake
@@ -3,10 +3,23 @@ namespace :geocode do
   task :all => :environment do
     class_name = ENV['CLASS'] || ENV['class']
     raise "Please specify a CLASS (model)" unless class_name
-    klass = Object.const_get(class_name)
+    klass = class_from_string(class_name)
 
     klass.not_geocoded.each do |obj|
       obj.geocode; obj.save
     end
   end
 end
+
+##
+# Get a class object from the string given in the shell environment.
+# Similar to ActiveSupport's +constantize+ method.
+#
+def class_from_string(class_name)
+  parts = class_name.split("::")
+  constant = Object
+  parts.each do |part|
+    constant = constant.const_get(part)
+  end
+  constant
+end