diff --git a/initdb.py b/initdb.py
index 0f032fe45..c4afe8ebc 100644
--- a/initdb.py
+++ b/initdb.py
@@ -156,30 +156,31 @@ def __create_subtree(with_storage, repo, structure, creator_username, parent, ta
     __create_subtree(with_storage, repo, subtree, creator_username, new_image, tag_map)
 
 
-def __generate_service_key(name, user, timestamp, approval_type, expiration=None, metadata=None):
+def __generate_service_key(kid, name, user, timestamp, approval_type, expiration=None,
+                           metadata=None):
   private_key = RSA.generate(1024)
   jwk = RSAKey(key=private_key.publickey()).serialize()
-  kid = sha256(json.dumps(canonicalize(jwk), separators=(',', ':'))).hexdigest()
 
   metadata = metadata or {}
   model.service_keys.create_service_key(name, kid, 'sample_service', jwk, metadata, expiration)
-  model.service_keys.approve_service_key(kid, user, approval_type,
-                                         notes='The **test** apporval')
+  if approval_type is not None:
+    model.service_keys.approve_service_key(kid, user, approval_type,
+                                           notes='The **test** apporval')
 
-  key_metadata = {
-    'kid': kid,
-    'preshared': True,
-    'service': 'sample_service',
-    'name': name,
-    'expiration_date': expiration,
-    'auto_approved': True
-  }
+    key_metadata = {
+      'kid': kid,
+      'preshared': True,
+      'service': 'sample_service',
+      'name': name,
+      'expiration_date': expiration,
+      'auto_approved': True
+    }
 
-  model.log.log_action('service_key_approve', None, performer=user,
-                       timestamp=timestamp, metadata=key_metadata)
+    model.log.log_action('service_key_approve', None, performer=user,
+                         timestamp=timestamp, metadata=key_metadata)
 
-  model.log.log_action('service_key_create', None, performer=user,
-                       timestamp=timestamp, metadata=key_metadata)
+    model.log.log_action('service_key_create', None, performer=user,
+                         timestamp=timestamp, metadata=key_metadata)
 
 
 def __generate_repository(with_storage, user_obj, name, description, is_public, permissions, structure):
@@ -653,11 +654,14 @@ def populate_database(minimal=False, with_storage=False):
   six_ago = today - timedelta(5)
   four_ago = today - timedelta(4)
 
-  __generate_service_key('somesamplekey', new_user_1, today, ServiceKeyApprovalType.SUPERUSER)
-  __generate_service_key('someexpiringkey', new_user_1, week_ago, ServiceKeyApprovalType.SUPERUSER,
-                         today + timedelta(14))
+  __generate_service_key('kid1', 'somesamplekey', new_user_1, today,
+                         ServiceKeyApprovalType.SUPERUSER)
+  __generate_service_key('kid2', 'someexpiringkey', new_user_1, week_ago,
+                         ServiceKeyApprovalType.SUPERUSER, today + timedelta(14))
 
-  __generate_service_key('autorotatingkey', new_user_1, six_ago,
+  __generate_service_key('kid3', 'unapprovedkey', new_user_1, today, None)
+
+  __generate_service_key('kid4', 'autorotatingkey', new_user_1, six_ago,
                          ServiceKeyApprovalType.KEY_ROTATION, today + timedelta(1),
                          dict(rotation_ttl=timedelta(hours=12).total_seconds()))
 
diff --git a/test/data/test.db b/test/data/test.db
index dfdb69690..4ac351c8a 100644
Binary files a/test/data/test.db and b/test/data/test.db differ