diff --git a/src/PersonsVC.mm b/src/PersonsVC.mm
index 2aa11a1..e654817 100644
--- a/src/PersonsVC.mm
+++ b/src/PersonsVC.mm
@@ -37,6 +37,7 @@
 #import "QNSTreeController.h"
 #import "delegates/ImageManipulationDelegate.h"
 #import "views/HoverTableRowView.h"
+#import "views/ContextualTableCellView.h"
 
 class ReachablePersonModel : public QSortFilterProxyModel
 {
@@ -167,12 +168,14 @@
         [result setLayer:[CALayer layer]];
         [result.layer setBackgroundColor:[NSColor selectedControlColor].CGColor];
     } else if(((NSTreeNode*)item).indexPath.length == 2) {
-        result = [outlineView makeViewWithIdentifier:@"MainCell" owner:outlineView];
+        result = [outlineView makeViewWithIdentifier:@"PersonCell" owner:outlineView];
         NSImageView* photoView = [result viewWithTag:IMAGE_TAG];
         Person* p = qvariant_cast<Person*>(qIdx.data((int)Person::Role::Object));
 
         QVariant photo = GlobalInstances::pixmapManipulator().contactPhoto(p, QSize(35,35));
         [photoView setImage:QtMac::toNSImage(qvariant_cast<QPixmap>(photo))];
+        [((ContextualTableCellView*) result) setContextualsControls:[NSMutableArray arrayWithObject:[result viewWithTag:CALL_BUTTON_TAG]]];
+
         NSTextField* details = [result viewWithTag:DETAILS_TAG];
         if (p && p->phoneNumbers().size() > 0)
             [details setStringValue:p->phoneNumbers().first()->uri().toNSString()];
