diff --git a/fieldable_panels_panes.module b/fieldable_panels_panes.module
index 5a88341..0cdc2b9 100644
--- a/fieldable_panels_panes.module
+++ b/fieldable_panels_panes.module
@@ -505,6 +505,24 @@ function fieldable_panels_panes_delete($fpid) {
   fieldable_panels_panes_delete_multiple(array($fpid));
 }
 
+function fieldable_panels_panes_delete_revision($fpid, $vid) {
+  if ($revision = fieldable_panels_panes_load($fpid, $vid)) {
+    // Prevent deleting the current revision.
+    $entity = fieldable_panels_panes_load($revision->fpid);
+    if ($vid == $entity->vid) {
+      return FALSE;
+    }
+
+    db_delete('fieldable_panels_panes_revision')
+      ->condition('fpid', $revision->fpid)
+      ->condition('vid', $revision->vid)
+      ->execute();
+    field_attach_delete_revision('fieldable_panels_pane', $revision);
+    return TRUE;
+  }
+  return FALSE;
+}
+
 /**
  * Delete multiple fieldable panel panes.
  *
diff --git a/includes/admin.inc b/includes/admin.inc
index 60b730a..4c17419 100644
--- a/includes/admin.inc
+++ b/includes/admin.inc
@@ -132,6 +132,38 @@ function fieldable_panels_panes_entity_delete_form_submit($form, &$form_state) {
 }
 
 /**
+ * Menu callback -- ask for confirmation of revision deletion
+ */
+function fieldable_panels_panes_entity_delete_revision_form($form, &$form_state, $entity) {
+  $form_state['entity'] = $entity;
+  return confirm_form($form,
+    t('Are you sure you want to delete the revision from %revision-date?', array('%revision-date' => format_date($entity->timestamp))),
+    'admin/structure/panels/entity/view/' . $entity->fpid,
+    t('This action cannot be undone.'),
+    t('Delete'),
+    t('Cancel')
+  );
+}
+
+/**
+ * Execute revision deletion
+ */
+function fieldable_panels_panes_entity_delete_revision_form_submit($form, &$form_state) {
+  if ($form_state['values']['confirm']) {
+    $entity = $form_state['entity'];
+    fieldable_panels_panes_delete_revision($entity->fpid, $entity->vid);
+    watchdog('fieldable_panels_pane', '@type: deleted revision of %title from %date.', array(
+      '@type' => $entity->bundle,
+      '%title' => $entity->title,
+      '%date' => format_date($entity->timestamp),
+    ));
+    drupal_set_message(t('The revision from %date has been deleted.', array('%date' => format_date($entity->timestamp))));
+  }
+
+  $form_state['redirect'] = 'admin/structure/panels/entity/view/' . $entity->fpid . '/revision';
+}
+
+/**
  * Page callback to edit access control of an entity pane.
  *
  * @param $op
