diff --git a/autoload.module b/autoload.module
index 1f74788..3a441e6 100644
--- a/autoload.module
+++ b/autoload.module
@@ -46,10 +46,28 @@ spl_autoload_register(function ($namespace) use ($autoload) {
 });
 
 /**
- * Implements hook_views_api().
+ * Implements hook_entity_info().
  */
-function autoload_views_api() {
-  return array('api' => 3);
+function autoload_entity_info() {
+  static $recomputed = FALSE;
+
+  if (!$recomputed) {
+    autoload_paths_recompute();
+    $recomputed = TRUE;
+  }
+
+  return array();
+}
+
+/**
+ * Implements hook_module_implements_alter().
+ */
+function autoload_module_implements_alter(array &$implementations, $hook) {
+  // Make sure that the $implementations list is populated before altering
+  // it, to work around a crash experienced by some people.
+  if ('entity_info' === $hook && isset($implementations['autoload'])) {
+    $implementations = array('autoload' => $implementations['autoload']) + $implementations;
+  }
 }
 
 /**
diff --git a/autoload.views.inc b/autoload.views.inc
deleted file mode 100644
index 042b4d4..0000000
--- a/autoload.views.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-/**
- * @file
- * Views integration.
- */
-
-/**
- * Implements hook_views_data().
- */
-function autoload_views_data() {
-  autoload_paths_recompute();
-
-  return array();
-}
