diff --git a/lib/twitter/tweet.rb b/lib/twitter/tweet.rb
index <HASH>..<HASH> 100644
--- a/lib/twitter/tweet.rb
+++ b/lib/twitter/tweet.rb
@@ -27,7 +27,9 @@ module Twitter
 
     # @return [Boolean]
     def entities?
-      !@attrs[:entities].nil?
+      return false if @attrs[:entities].nil?
+
+      @attrs[:entities].any? { |k, v| !v.empty? }
     end
 
     def filter_level
diff --git a/spec/twitter/tweet_spec.rb b/spec/twitter/tweet_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/twitter/tweet_spec.rb
+++ b/spec/twitter/tweet_spec.rb
@@ -57,6 +57,12 @@ describe Twitter::Tweet do
       expect(tweet.entities?).to be_false
     end
 
+    it "returns false if there are blank lists of entities set" do
+      urls_array = []
+      tweet = Twitter::Tweet.new(:id => 28669546014, :entities => {:urls => urls_array})
+      expect(tweet.entities?).to be_false
+    end
+
     it "returns true if there are entities set" do
       urls_array = [
         {
Fix behavior of Twitter::Tweet.entities? method.

Previously, this method returned true when inflating a
tweet that has no entities because the inflated model
does not set @attrs[:entities] to nil, but to a hash of
empty lists.