diff --git a/reply.module b/reply.module
index 7fe7ed7..29fad41 100644
--- a/reply.module
+++ b/reply.module
@@ -1136,12 +1136,15 @@ function reply_add_form_submit($form, &$form_state) {
   reply_save($reply);
   $bundle = reply_bundle_load($reply->bundle);
 
-  // Verbalsite action.
-  if (isset($form_state['values']['id'])) {
-    drupal_set_message(t('%bundle was successfully updated.', array('%bundle' => $bundle->name)));
-  }
-  else {
-    drupal_set_message(t('%bundle was successfully created.', array('%bundle' => $bundle->name)));
+
+  if (!variable_get('reply_suppress_entity_status_messages', FALSE)) {
+    // Verbalsite action
+    if (isset($form_state['values']['id'])) {
+      drupal_set_message(t('%bundle was successfully updated.', array('%bundle' => $bundle->name)));
+    }
+    else {
+      drupal_set_message(t('%bundle was successfully created.', array('%bundle' => $bundle->name)));
+    }
   }
 
   // Set redirect.
@@ -1300,8 +1303,10 @@ function reply_delete_form($form, &$form_state, $reply) {
  */
 function reply_delete_form_submit($form, &$form_state) {
   reply_delete($form_state['values']['id'], $form_state['values']['type']);
-  $message = t('@bundle was successfully deleted.', array('@bundle' => ucfirst($form_state['values']['bundle'])));
-  drupal_set_message($message);
+  if (!variable_get('reply_suppress_entity_status_messages', FALSE)) {
+    $message = t('@bundle was successfully deleted.', array('@bundle' => ucfirst($form_state['values']['bundle'])));
+    drupal_set_message($message);
+  }
   $form_state['redirect'] = 'admin/structure/reply';
 }
 
diff --git a/reply.test b/reply.test
index 67b68dc..a02ec3c 100644
--- a/reply.test
+++ b/reply.test
@@ -244,3 +244,117 @@ class ReplyTest extends DrupalWebTestCase {
   }
 
 }
+
+/**
+ * Defines a test "Optional removal of comment create, update and delete messages"
+ */
+class ReplyTestMessages extends ReplyTest {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name' => 'Reply',
+      'description' => 'Test reply status messages.',
+      'group' => 'Reply',
+    );
+  }
+
+  /**
+   * Test to ensure that we can disable the messages after create, update and delete a reply.
+   */
+  public function testReplyStatusMessages() {
+    $this->drupalLogin($this->adminUser);
+    // Add a new reply bundle.
+    $this->addReplyBundle(array('bundle' => 'ponies', 'name' => 'Ponies'));
+    // Add a new reply field.
+    $this->drupalGet('admin/structure/types/manage/ponies/fields');
+    $edit = array(
+      'fields[_add_new_field][label]' => 'Foobar',
+      'fields[_add_new_field][field_name]' => 'foobar',
+      'fields[_add_new_field][type]' => 'reply',
+      'fields[_add_new_field][widget_type]' => 'reply',
+    );
+    $this->drupalPost(NULL, $edit, t('Save'));
+    $this->drupalPost(NULL, array(
+      'field[settings][bundle]' => 'ponies',
+    ), t('Save field settings'));
+
+    $this->drupalPost(NULL, array(), t('Save settings'));
+    $this->assertRaw(t('Saved %name configuration', array('%name' => 'Foobar')));
+    // Save display settings.
+    $this->drupalPost('admin/structure/types/manage/ponies/display', array(), t('Save'));
+
+
+    $this->drupalGet('node/add/ponies');
+
+    // Submit node data.
+    $edit = array(
+      'title' => 'Barfoo',
+    );
+
+    $this->drupalPost(NULL, $edit, t('Save'));
+    $entities = entity_load('node', FALSE, array(
+      'title' => 'Barfoo',
+    ));
+
+    $node = reset($entities);
+
+    // Messages should be displayed by default if variable "" does not have TRUE as value.
+    // Create
+    $reply = $this->addReplyToNode($node, $this->randomString(32));
+    $this->assertText(t('@bundle was successfully created.', array('@bundle' => 'Ponies')));
+
+    // Edit
+    $this->drupalPost('reply/' . $reply->id . '/edit', array('field_reply_body[und][0][value]' => 'Edited'), t('Submit'));
+    $this->assertText(t('@bundle was successfully updated.', array('@bundle' => 'Ponies')));
+
+    // Delete
+    $this->drupalPost('reply/' . $reply->id . '/delete', array(), t('Confirm'));
+    $this->assertText(t('@bundle was successfully deleted.', array('@bundle' => 'Ponies')));
+
+    // Messages should not be displayed by default if variable "reply_suppress_entity_status_messages" is TRUE.
+    variable_set('reply_suppress_entity_status_messages', TRUE);
+
+    // Create
+    $reply = $this->addReplyToNode($node, $this->randomString(32));
+    $this->assertNoText(t('@bundle was successfully created.', array('@bundle' => 'Ponies')));
+
+    // Edit
+    $this->drupalPost('reply/' . $reply->id . '/edit', array('field_reply_body[und][0][value]' => 'Edited'), t('Submit'));
+    $this->assertNoText(t('@bundle was successfully updated.', array('@bundle' => 'Ponies')));
+
+    // Delete
+    $this->drupalPost('reply/' . $reply->id . '/delete', array(), t('Confirm'));
+    $this->assertNoText(t('@bundle was successfully deleted.', array('@bundle' => 'Ponies')));
+  }
+
+  /**
+   * Helper method to add a reply entity to a node.
+   *
+   * @param object $node
+   *   Node object.
+   * @param string $text
+   *   String for the reply body
+   *
+   * @return object
+   *   Reply object.
+   */
+  protected function addReplyToNode($node, $text) {
+    $this->drupalPost('node/' . $node->nid, array(
+      'field_reply_body[und][0][value]' => $text,
+    ), t('Submit'));
+
+    $query = new EntityFieldQuery();
+    $replies = $query->entityCondition('entity_type', 'reply')
+      ->fieldCondition('field_reply_body', 'value', $text)
+      ->execute();
+
+    $replies_ids = array_keys($replies['reply']);
+    $id = reset($replies_ids);
+    $reply = reply_load($id);
+
+    return $reply;
+  }
+}
\ No newline at end of file
