diff --git a/input_formats.module b/input_formats.module
index 36b7bbb..c668c7b 100644
--- a/input_formats.module
+++ b/input_formats.module
@@ -78,7 +78,7 @@ function input_formats_strongarm() {
   $input_formats = input_formats_load_all(TRUE);
   $variables = array();
   foreach ($input_formats as $machine_name => $input_format) {
-    if ($input_format->in_code_only) {
+    if (!empty($input_format->in_code_only) && $input_format->in_code_only) {
       foreach ($input_format->settings as $module => $settings) {
         foreach ($settings as $variable_name => $variable_value) {
           $strongarm = new stdClass;
@@ -316,7 +316,7 @@ function input_formats_form_filter_admin_format_form_alter(&$form, $form_state)
   input_formats_load_all(TRUE);
   $input_format = input_formats_load_by_format($format);
 
-  if (!$input_format->in_code_only) {
+  if (empty($input_format->in_code_only)) {
     return;
   }
 
@@ -357,7 +357,7 @@ function input_formats_filter_admin_format_submit($form, $form_state) {
 function input_formats_form_filter_admin_configure_alter(&$form, &$form_state) {
   $format = $form['format']['#value'];
   $input_format = input_formats_load_by_format($format);
-  if (!$input_format->in_code_only || !empty($form_state['input_formats_loaded'])) {
+  if (empty($input_format->in_code_only) || !empty($form_state['input_formats_loaded'])) {
     return;
   }
 
@@ -408,7 +408,7 @@ function input_formats_form_filter_admin_configure_alter(&$form, &$form_state) {
 function input_formats_form_filter_admin_order_alter(&$form, $form_state) {
   $format = $form['format']['#value'];
   $input_format = input_formats_load_by_format($format);
-  if (!$input_format->in_code_only) {
+  if (empty($input_format->in_code_only)) {
     return;
   }
   unset($form['names']['input_formats/0']);
@@ -768,7 +768,7 @@ function input_formats_load_all($reset = FALSE) {
       // However, when a input format is loaded from code, we have to
       // ensure that a record is present in the database. This make possible to filter_formats
       // get this filter available in the site.
-      if ($input_format->in_code_only && empty($input_format->format)) {
+      if (!empty($input_format->in_code_only) && $input_format->in_code_only && empty($input_format->format)) {
         // The input format was recently discovered, then we save it into the database.
         // @see input_formats_save to undestand how this fake input format works
 
@@ -781,7 +781,7 @@ function input_formats_load_all($reset = FALSE) {
         $input_format->filters = input_formats_get_filters($input_format);
       }
 
-      if ($input_format->in_code_only) {
+      if (!empty($input_format->in_code_only) && $input_format->in_code_only) {
         // Input format correctly loaded, determine how to apply all the filters in the correct order
         $apply_filters = array();
         foreach ($input_format->filters as $module => $filter) {
@@ -880,7 +880,9 @@ function input_formats_get_roles($input_format) {
     $user_roles = input_formats_raw_user_roles();
 
     foreach ($format_roles as $rid) {
-      $roles[$rid] = $user_roles[$rid];
+      if(isset($user_roles[$rid])) {
+        $roles[$rid] = $user_roles[$rid];
+      }
     }
   }
   return $roles;
