diff --git a/lib/aspect_stream.rb b/lib/aspect_stream.rb
index 4d5ea5be5a0a5677aec4a138d4c7c1b3c8fb4f74..c1b538877d7e9b7e933d7b27e378d91fe9454969 100644
--- a/lib/aspect_stream.rb
+++ b/lib/aspect_stream.rb
@@ -42,10 +42,11 @@ class AspectStream
   # @return [ActiveRecord::Association<Post>] AR association of posts
   def posts
     # NOTE(this should be something like Post.all_for_stream(@user, aspect_ids, {}) that calls visible_posts
-    @posts ||= @user.visible_posts(:by_members_of => aspect_ids,
-                                   :type => ['StatusMessage', 'Reshare', 'ActivityStreams::Photo'],
-                                   :order => "#{@order} DESC",
-                                   :max_time => @max_time
+    opts = {:type => ['StatusMessage', 'Reshare', 'ActivityStreams::Photo'],
+            :order => "#{@order} DESC",
+            :max_time => @max_time}
+    opts[:by_members_of] = aspect_ids unless (@inputted_aspect_ids == [])
+    @posts ||= @user.visible_posts(opts
                    ).includes(:mentions => {:person => :profile}, :author => :profile)
   end
 
diff --git a/spec/lib/aspect_stream_spec.rb b/spec/lib/aspect_stream_spec.rb
index 8fd0a860d7e201f10fe1d8f69da155ff2144ec57..6a3b8ba5347d4cd514defd65f5b382679c24d3d6 100644
--- a/spec/lib/aspect_stream_spec.rb
+++ b/spec/lib/aspect_stream_spec.rb
@@ -5,50 +5,67 @@
 require 'aspect_stream'
 
 describe AspectStream do
-  describe '#aspects' do
-    it 'queries the user given initialized aspect ids' do
-      alice = stub.as_null_object
-      stream = AspectStream.new(alice, [1,2,3])
+ #describe '#aspects' do
+ #  it 'queries the user given initialized aspect ids' do
+ #    alice = stub.as_null_object
+ #    stream = AspectStream.new(alice, [1,2,3])
 
-      alice.aspects.should_receive(:where)
-      stream.aspects
-    end
+ #    alice.aspects.should_receive(:where)
+ #    stream.aspects
+ #  end
 
-    it "returns all the user's aspects if no aspect ids are specified" do
-      alice = stub.as_null_object
-      stream = AspectStream.new(alice, [])
+ #  it "returns all the user's aspects if no aspect ids are specified" do
+ #    alice = stub.as_null_object
+ #    stream = AspectStream.new(alice, [])
 
-      alice.aspects.should_not_receive(:where)
-      stream.aspects
-    end
+ #    alice.aspects.should_not_receive(:where)
+ #    stream.aspects
+ #  end
 
-    it 'filters aspects given a user' do
-      alice = stub(:aspects => [stub(:id => 1)])
-      alice.aspects.stub(:where).and_return(alice.aspects)
-      stream = AspectStream.new(alice, [1,2,3])
+ #  it 'filters aspects given a user' do
+ #    alice = stub(:aspects => [stub(:id => 1)])
+ #    alice.aspects.stub(:where).and_return(alice.aspects)
+ #    stream = AspectStream.new(alice, [1,2,3])
 
-      stream.aspects.should == alice.aspects
-    end
-  end
+ #    stream.aspects.should == alice.aspects
+ #  end
+ #end
 
-  describe '#aspect_ids' do
-    it 'maps ids from aspects' do
-      alice = stub.as_null_object
-      aspects = stub.as_null_object
+ #describe '#aspect_ids' do
+ #  it 'maps ids from aspects' do
+ #    alice = stub.as_null_object
+ #    aspects = stub.as_null_object
 
-      stream = AspectStream.new(alice, [1,2])
+ #    stream = AspectStream.new(alice, [1,2])
 
-      stream.should_receive(:aspects).and_return(aspects)
-      aspects.should_receive(:map)
-      stream.aspect_ids
-    end
-  end
+ #    stream.should_receive(:aspects).and_return(aspects)
+ #    aspects.should_receive(:map)
+ #    stream.aspect_ids
+ #  end
+ #end
 
   describe '#posts' do
     before do
       @alice = stub.as_null_object
     end
 
+    it 'calls visible posts with blank by_members_of if called with all aspects' do
+      stream = AspectStream.new(@alice, [])
+      stream.stub(:aspect_ids).and_return([1,2])
+
+      @alice.stub(:visible_posts).and_return(stub.as_null_object)
+      @alice.should_not_receive(:visible_posts).with(hash_including(:by_members_of => anything)).and_return(stub.as_null_object)
+      stream.posts
+    end
+    
+    it 'calls visible posts with by_members_of if with aspects are filtered' do
+      stream = AspectStream.new(@alice, [1,2])
+      stream.stub(:aspect_ids).and_return([1])
+
+      @alice.should_receive(:visible_posts).with(hash_including(:by_members_of => [1])).and_return(stub.as_null_object)
+      stream.posts
+    end
+
     it 'calls visible posts for the given user' do
       stream = AspectStream.new(@alice, [1,2])