diff --git a/app/controllers/aspects_controller.rb b/app/controllers/aspects_controller.rb
index a73cd15ea561816aa3b682f5a521792db2927f8a..947762b2052055327ef2fc54d8247de471a23bd9 100644
--- a/app/controllers/aspects_controller.rb
+++ b/app/controllers/aspects_controller.rb
@@ -16,6 +16,7 @@ class AspectsController < ApplicationController
     else
       @aspects = current_user.aspects
     end
+    @aspects = @aspects.includes(:contacts => {:person => :profile})
 
     # redirect to signup
     if (current_user.getting_started == true || @aspects.blank?) && !request.format.mobile? && !request.format.js?
@@ -23,16 +24,7 @@ class AspectsController < ApplicationController
       return
     end
 
-    @selected_contacts_hashes = Contact.connection.execute(
-      current_user.contacts.joins(:person => :profile).select("people.id, people.guid, profiles.first_name, profiles.last_name, people.diaspora_handle, profiles.image_url_small, profiles.image_url_medium, profiles.image_url").to_sql
-    ).map do |r|
-      {:id => r[1],
-       :name => Person.name_from_attrs(r[2], r[3], r[4]),
-       :avatar => Profile.image_url_from_attrs(:thumb_small, r[5], r[6], r[7]),
-       :handle => r[4],
-       :url => "/people/#{r[0]}"}
-    end
-
+    @selected_contacts = @aspects.map { |aspect| aspect.contacts }.flatten.uniq
     @aspect_ids = @aspects.map { |a| a.id }
     @posts = current_user.raw_visible_posts(:by_members_of => @aspect_ids, :type => 'StatusMessage', :order => session[:sort_order] + ' DESC', :page => params[:page]).includes(
       :comments, :mentions, :likes, :dislikes).paginate(:page => params[:page], :per_page => 15, :order => session[:sort_order] + ' DESC')
@@ -106,7 +98,7 @@ class AspectsController < ApplicationController
 
   def edit
     @aspect = current_user.aspects.where(:id => params[:id]).includes(:contacts => {:person => :profile}).first
-
+    
     @contacts_in_aspect = @aspect.contacts.includes(:person => :profile).all.sort! { |x, y| x.person.name <=> y.person.name }
     c = Contact.arel_table
     if @contacts_in_aspect.empty?
diff --git a/app/models/profile.rb b/app/models/profile.rb
index 6882a5f0b3184ceaa339ed43ddc3a2d29549dfa4..d45c29fbb47a7f122282b70e994c4c52560dfe9f 100644
--- a/app/models/profile.rb
+++ b/app/models/profile.rb
@@ -63,17 +63,13 @@ class Profile < ActiveRecord::Base
     (self.person) ? self.person.diaspora_handle : self[:diaspora_handle]
   end
 
-  def image_url(size_wanted = :thumb_large)
-    self.class.image_url_from_attrs(size_wanted, self[:image_url_small], self[:image_url_medium], self[:image_url])
-  end
-
-  def self.image_url_from_attrs(size_wanted, small, medium, large)
-    result = if size_wanted == :thumb_medium && medium
-               medium
-             elsif size_wanted == :thumb_small && small
-               small
+  def image_url(size = :thumb_large)
+    result = if size == :thumb_medium && self[:image_url_medium]
+               self[:image_url_medium]
+             elsif size == :thumb_small && self[:image_url_small]
+               self[:image_url_small]
              else
-               large
+               self[:image_url]
              end
     result || '/images/user/default.png'
   end
diff --git a/app/views/aspects/_aspect_listings.haml b/app/views/aspects/_aspect_listings.haml
index 0054c8ec39066e5eddab16f0cda68886617d186d..33d410d93b604ed397116e0da8375ddbf0ae6bc5 100644
--- a/app/views/aspects/_aspect_listings.haml
+++ b/app/views/aspects/_aspect_listings.haml
@@ -10,4 +10,4 @@
 
 %ul
   - for aspect in aspects
-    = render 'aspects/aspect', :aspect => aspect, :contacts => aspect.contacts.where(:pending => false).limit(16).includes(:person => :profile)
+    = render 'aspects/aspect', :aspect => aspect, :contacts => aspect.contacts.reject{|x| x.pending == true}
diff --git a/app/views/shared/_publisher.html.haml b/app/views/shared/_publisher.html.haml
index 794fa618db53e6e3d1095b73f0b87041bb3f6431..3bab72762da7b2667858de7b053dc16d38ad73df 100644
--- a/app/views/shared/_publisher.html.haml
+++ b/app/views/shared/_publisher.html.haml
@@ -20,8 +20,8 @@
 
   .content_creation
     = form_for(StatusMessage.new, :remote => true, :html => {"data-type" => "json"}) do |status|
-      - if @selected_contacts_hashes
-        = hidden_field_tag :contact_json, @selected_contacts_hashes.to_json
+      - if @selected_contacts
+        = hidden_field_tag :contact_json, @selected_contacts.map{|contact| contact.person}.to_json
       = status.error_messages
       #file-upload
         = image_tag 'icons/photos.png'