diff --git a/lib/speculation/namespaced_symbols.rb b/lib/speculation/namespaced_symbols.rb
index <HASH>..<HASH> 100644
--- a/lib/speculation/namespaced_symbols.rb
+++ b/lib/speculation/namespaced_symbols.rb
@@ -13,13 +13,15 @@ module Speculation
         namespace = name_or_namespace
       else
         name = name_or_namespace
-        namespace = is_a?(Module) ? self.name : self.class.name
+        namespace = is_a?(Module) ? self : self.class
       end
 
       NamespacedSymbols.symbol(namespace, name)
     end
 
     def self.symbol(ns, name)
+      ns = ns.name if ns.is_a?(Module)
+
       :"#{ns}/#{name}"
     end
Fix `ns` where namespace is a class/module and has overriden <Class>.to_s