diff --git a/lib/rubocop/cop/surrounding_space.rb b/lib/rubocop/cop/surrounding_space.rb
index <HASH>..<HASH> 100644
--- a/lib/rubocop/cop/surrounding_space.rb
+++ b/lib/rubocop/cop/surrounding_space.rb
@@ -27,6 +27,7 @@ module Rubocop
                         :args_add_block, :const_path_ref, :dot2,
                         :dot3].include?(child)
         return true if grandparent == :unary && parent == :vcall
+        return true if parent == :command_call && child == :"::"
         false
       end
 
diff --git a/spec/rubocop/cops/surrounding_space_spec.rb b/spec/rubocop/cops/surrounding_space_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/rubocop/cops/surrounding_space_spec.rb
+++ b/spec/rubocop/cops/surrounding_space_spec.rb
@@ -49,6 +49,12 @@ module Rubocop
         space.offences.map(&:message).should == []
       end
 
+      it 'accepts ::Kernel::raise' do
+        source = ['::Kernel::raise IllegalBlockError.new']
+        space.inspect_source('file.rb', source)
+        space.offences.map(&:message).should == []
+      end
+
       it "accepts exclamation point negation" do
         space.inspect_source("file.rb", ['x = !a&&!b'])
         space.offences.map(&:message).should ==
Another special case with the :: operator.