diff --git a/course_credit.install b/course_credit.install
index c92d651..cf40e37 100644
--- a/course_credit.install
+++ b/course_credit.install
@@ -17,6 +17,7 @@ function course_credit_schema() {
     'fields' => array(
       'ccid' => array(
         'type' => 'serial',
+        'not null' => TRUE,
       ),
       'nid' => array(
         'type' => 'int',
@@ -85,6 +86,7 @@ function course_credit_schema() {
     'unique keys' => array(
       'nid_type' => array('nid', 'type'),
     ),
+    'indexes' => array('nid' => array('nid')),
   );
 
   $schema['course_credit_type'] = array(
@@ -224,6 +226,7 @@ function course_credit_schema() {
     ),
     'primary key' => array('ccaid'),
     'unique keys' => array('triplet' => array('type', 'nid', 'uid')),
+    'indexes' => array('nid_uid' => array('nid', 'uid')),
   );
 
   $schema['course_credit_awarded_revision'] = array(
@@ -546,3 +549,24 @@ function course_credit_update_7004() {
     db_query("UPDATE {course_credit_awarded} SET vid = :vid WHERE ccaid = :ccaid", array(':vid' => $row->vid, ':ccaid' => $row->ccaid));
   }
 }
+
+/**
+ * Add missing indexes.
+ */
+function course_credit_update_7005() {
+  if (!db_index_exists('course_credit_awarded', 'type')) {
+    db_add_index('course_credit_awarded', 'type', array('type'));
+  }
+
+  if (!db_index_exists('course_credit_awarded', 'nid_uid')) {
+    db_add_index('course_credit_awarded', 'nid_uid', array('nid', 'uid'));
+  }
+
+  if (!db_index_exists('course_credit', 'nid')) {
+    db_add_index('course_credit', 'nid', array('nid'));
+  }
+
+  if (!db_index_exists('course_credit', 'nid_type')) {
+    db_add_index('course_credit', 'nid_type', array('nid', 'type'));
+  }
+}
