diff --git a/nodeformsettings.module b/nodeformsettings.module
index 327acee..5995b87 100644
--- a/nodeformsettings.module
+++ b/nodeformsettings.module
@@ -124,8 +124,10 @@ function nodeformsettings_form_node_form_alter(&$form, $form_state, $form_id) {
       if (isset($settings[$key])) {
         // Ignore the elements in the variable. We do this because in this particular case this change is not being made
         // in a hook_form_alter, but a preprocess_page function, if we don't ignore it we'll get an error.
+        // In case of nfs_inputformat, the change is applied using hook_element_info_alter().
         // If more changes are made out the hook_form_alter, then add those elements to this array.
-        $ignore = array("nfs_hide_node_title");
+        $ignore = array("nfs_hide_node_title", "nfs_inputformat");
+
         // If the $key is not in the array $ignore detect the functions.
         if (!in_array($key, $ignore)) {
           include_once DRUPAL_ROOT . '/' . $path . 'option_' . $key . '.inc';
@@ -280,3 +282,51 @@ function nodeformsettings_node_type_update($info) {
  */
 function nodeformsettings_node_type_OLD($op, $info) {
 }
+
+/**
+ * Implements hook_element_info_alter().
+ */
+function nodeformsettings_element_info_alter(&$type) {
+  if (isset($type['text_format']['#process'])) {
+    foreach ($type['text_format']['#process'] as &$callback) {
+      if ($callback === 'filter_process_format') {
+        $callback = 'nodeformsettings_process_format';
+      }
+    }
+  }
+}
+
+/**
+ * Custom callback function to process input format for all the fields.
+ *
+ * @param Array $element
+ *   The input element for which the format is to be processed.
+ *
+ * @return Array
+ *  Return updated element with necessary changes.
+ */
+function nodeformsettings_process_format($element) {
+  $element = filter_process_format($element);
+
+  // Make sure we have an entity and a type here.
+  if (isset($element['#entity']) && isset($element['#entity']->type)) {
+    // Array of field names to restrict (add more here as needed).
+    $fields = array(
+      'body',
+    );
+
+    // Get settings for this node type.
+    $settings = nodeformsettings_get_settings($element['#entity']->type);
+
+    // Hide the 'text format' pane below certain text area fields.
+    if (isset($settings['nfs_inputformat']) &&
+      $settings['nfs_inputformat'] == 1 &&
+      isset($element['#field_name']) &&
+      in_array($element['#field_name'], $fields)) {
+      // Set access to FALSE.
+      $element['format']['#access'] = FALSE;
+    }
+  }
+
+  return $element;
+}
