diff --git a/app/controllers/aspects_controller.rb b/app/controllers/aspects_controller.rb
index afb6c7e5449ef0d82509b3fe5c67bea5492fd062..8dfd1d480107e35bff00620319798b8bb06de3fd 100644
--- a/app/controllers/aspects_controller.rb
+++ b/app/controllers/aspects_controller.rb
@@ -77,7 +77,7 @@ class AspectsController < ApplicationController
 
   def manage
     @aspect = :manage
-    @remote_requests = current_user.requests_for_me
+    @remote_requests = Request.hashes_for_person(current_user.person)
     @aspect_hashes = hashes_for_aspects @aspects, @contacts
   end
 
diff --git a/app/controllers/status_messages_controller.rb b/app/controllers/status_messages_controller.rb
index 5cca0b903ed204952e4e118164bc161a9e9002be..84a1f3381843ea0f64ce3ee6d6438137d58c18e5 100644
--- a/app/controllers/status_messages_controller.rb
+++ b/app/controllers/status_messages_controller.rb
@@ -18,7 +18,7 @@ class StatusMessagesController < ApplicationController
 
     public_flag = params[:status_message][:public]
     public_flag.to_s.match(/(true)/) ? public_flag = true : public_flag = false
-    params[:status_message][:public] = public_flag 
+    params[:status_message][:public] = public_flag
     @status_message = current_user.build_post(:status_message, params[:status_message])
 
 
@@ -28,7 +28,7 @@ class StatusMessagesController < ApplicationController
       @status_message.photos += photos unless photos.nil?
       current_user.add_to_streams(@status_message, params[:status_message][:aspect_ids])
       current_user.dispatch_post(@status_message, :to => params[:status_message][:aspect_ids], :url => post_url(@status_message))
-      
+
 
       for photo in photos
         photo.public = public_flag
@@ -40,13 +40,13 @@ class StatusMessagesController < ApplicationController
       respond_to do |format|
         format.js{ render :json => { :post_id => @status_message.id,
                                      :html => render_to_string(
-                                       :partial => 'shared/stream_element', 
+                                       :partial => 'shared/stream_element',
                                        :locals => {
-                                         :post => @status_message, 
+                                         :post => @status_message,
                                          :person => @status_message.person,
                                          :photos => @status_message.photos,
                                          :comments => [],
-                                         :aspects => current_user.aspects, 
+                                         :aspects => current_user.aspects,
                                          :current_user => current_user
                                         }
                                      )
diff --git a/app/models/request.rb b/app/models/request.rb
index 8fd75631636a0ab09c29c5d87c36a067c0da7125..019d8d1d3d23c076a9711761d6df882882925452 100644
--- a/app/models/request.rb
+++ b/app/models/request.rb
@@ -68,6 +68,13 @@ class Request
     self.from.diaspora_handle
   end
 
+  def self.hashes_for_person person
+    requests = Request.to(person).all(:sent => false)
+    senders = Person.all(:id.in => requests.map{|r| r.from_id}, :fields => [:profile])
+    senders_hash = {}
+    senders.each{|sender| senders_hash[sender.id] = sender}
+    requests.map{|r| {:request => r, :sender => senders_hash[r.from_id]}}
+  end
   private
   def no_pending_request
     if Request.first(:from_id => from_id, :to_id => to_id)
diff --git a/app/views/aspects/manage.html.haml b/app/views/aspects/manage.html.haml
index 5a39619b466b116d49e8104cf08090de2f1fa407..ecd4be3cf7a93214bffb57c876c78997d3309745 100644
--- a/app/views/aspects/manage.html.haml
+++ b/app/views/aspects/manage.html.haml
@@ -22,13 +22,13 @@
         - if @remote_requests.size < 1
           %li=t('.no_requests')
         - else
-          - for request in @remote_requests
-            %li.person.request{:data=>{:guid=>request.id, :person_id=>request.from.id}}
+          - for hash in @remote_requests
+            %li.person.request{:data=>{:guid=>hash[:request].id, :person_id=>hash[:sender].id}}
               .delete
                 .x
                   X
                 .circle
-              = link_to person_image_tag(request.from), request.from
+              = link_to person_image_tag(hash[:sender]), hash[:sender]
 
     = render 'shared/invitations', :invites => @invites
 
diff --git a/spec/models/request_spec.rb b/spec/models/request_spec.rb
index 468fbdb0cb5366ccca3668dedb51ea71d3370247..1d53941da7252398e5e6ede0c4b11f6b8cbaf61d 100644
--- a/spec/models/request_spec.rb
+++ b/spec/models/request_spec.rb
@@ -108,6 +108,26 @@ describe Request do
     end
   end
 
+  describe '.hashes_for_person' do
+    before do
+      @user = make_user
+      @user2 = make_user
+      @user2.send_contact_request_to @user.person, @user2.aspects.create(:name => "hi")
+      @user.reload
+      @user2.reload
+      @hashes = Request.hashes_for_person(@user.person)
+      @hash = @hashes.first
+    end
+    it 'gives back requests' do
+      @hash[:request].should == Request.from(@user2).to(@user).first
+    end
+    it 'gives back people' do
+      @hash[:sender].should == @user2.person
+    end
+    it 'does not retrieve keys' do
+      @hash[:sender].serialized_public_key.should be_nil
+    end
+  end
   describe 'xml' do
     before do
       @request = Request.new(:from => user.person, :to => user2.person, :into => aspect) 
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index bbfc622025812303355d3ca2ccf17c7cb4b6f5c0..c11d5b99bb4aa9492f21b44f1a1b06c76986d0b1 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -127,7 +127,7 @@ describe User do
       end
 
       it 'should not contain periods' do
-        user = Factory.build(:user, :username => "kittens;")
+        user = Factory.build(:user, :username => "kittens.")
         user.should_not be_valid
       end