diff --git a/src/backends/AddressBookBackend.mm b/src/backends/AddressBookBackend.mm
index 34f3ec7355d57b94051276b3243ec074a5044f9a..f98e7736059098f9dde7de49bf11b55e4e1e4fa4 100644
--- a/src/backends/AddressBookBackend.mm
+++ b/src/backends/AddressBookBackend.mm
@@ -38,6 +38,7 @@
 #import <QtWidgets/QApplication>
 #import <QtCore/QStandardPaths>
 #import <QTimer>
+#import <QPixmap>
 #import <QtGlobal>
 
 //Ring
@@ -202,14 +203,21 @@ void AddressBookBackend::asyncLoad(int startingPoint)
 
     for (int i = startingPoint; i < endPoint; ++i) {
 
-        Person* person = new Person(QByteArray::fromNSData(((ABPerson*)[everyone objectAtIndex:i]).vCardRepresentation),
+        ABPerson* abPerson = ((ABPerson*)[everyone objectAtIndex:i]);
+
+        Person* person = new Person(QByteArray::fromNSData(abPerson.vCardRepresentation),
                                     Person::Encoding::vCard,
                                     this);
+
+        if(abPerson.imageData)
+            person->setPhoto(QVariant(QPixmap::fromImage(QImage::fromData(QByteArray::fromNSData((abPerson.imageData))))));
+
         if([person->formattedName().toNSString() isEqualToString:@""]   &&
            [person->secondName().toNSString() isEqualToString:@""]     &&
            [person->firstName().toNSString() isEqualToString:@""]) {
             continue;
         }
+
         person->setCollection(this);
 
         editor<Person>()->addExisting(person);
diff --git a/src/delegates/ImageManipulationDelegate.mm b/src/delegates/ImageManipulationDelegate.mm
index 8c5cd0c2b3a4ec60013d60425abbae450e9b5324..fb0b91eb53514f58913ebc5279ee20e75c8f43ba 100644
--- a/src/delegates/ImageManipulationDelegate.mm
+++ b/src/delegates/ImageManipulationDelegate.mm
@@ -137,9 +137,10 @@ QPixmap ImageManipulationDelegate::drawDefaultUserPixmap(const QSize& size, bool
 CGImageRef ImageManipulationDelegate::resizeCGImage(CGImageRef image, const QSize& size) {
     // create context, keeping original image properties
     CGColorSpaceRef colorspace = CGImageGetColorSpace(image);
+
     CGContextRef context = CGBitmapContextCreate(NULL, size.width(), size.height(),
                                                  CGImageGetBitsPerComponent(image),
-                                                 CGImageGetBytesPerRow(image),
+                                                 size.width() * CGImageGetBitsPerComponent(image),
                                                  colorspace,
                                                  CGImageGetAlphaInfo(image));
     CGColorSpaceRelease(colorspace);