diff --git a/tko/db.py b/tko/db.py
index 151d4d4..1bb0afa 100644
--- a/tko/db.py
+++ b/tko/db.py
@@ -94,7 +94,10 @@
 
 
 	def insert_job(self, tag, job):
-		self.insert('jobs', {'tag':tag, 'machine':job.machine})
+		job.machine_idx = self.lookup_machine(job.machine)
+		if not job.machine_idx:
+			job.machine_idx = self.insert_machine(job.machine)
+		self.insert('jobs', {'tag':tag, 'machine_idx':job.machine_idx})
 		job.index = self.find_job(tag)
 		for test in job.tests:
 			self.insert_test(job, test)
@@ -105,7 +108,7 @@
 		data = {'job_idx':job.index, 'test':test.testname,
 			'subdir':test.subdir, 'kernel_idx':kver,
 			'status':self.status_idx[test.status],
-			'reason':test.reason, 'machine':test.machine }
+			'reason':test.reason, 'machine_idx':job.machine_idx }
 		self.insert('tests', data)
 		test_idx = self.find_test(job.index, test.subdir)
 		data = { 'test_idx':test_idx }
@@ -118,6 +121,20 @@
 				self.insert('iteration_result', data)
 
 
+	def insert_machine(self, hostname):
+		self.insert('machines', { 'hostname' : hostname })
+		return self.lookup_machine(hostname)
+
+
+	def lookup_machine(self, hostname):
+		where = { 'hostname' : hostname }
+		rows = self.select('machine_idx', 'machines', where)
+		if rows:
+			return rows[0][0]
+		else:
+			return None
+
+
 	def lookup_kernel(self, kernel):
 		rows = self.select('kernel_idx', 'kernels', 
 				{'kernel_hash':kernel.kernel_hash})
