 					assert.equal err, null
 					assert.equal row.row, testRows[i].row
 					cb()
-		, () ->
-			done()
+		, done
+
+	it 'should stop scanning after closing the scanner', (done) ->
+		scan = client.getScanner testTable
+
+		scan.next (err, row) ->
+			assert.equal err, null
+			assert.equal row.row, testRows[0].row
+
+			scan.close()
+			scan.close()
+			scan.next (err, row) ->
+				assert.equal err, null
+				assert.equal Object.keys(row), 0
+				done()
 
 	it 'should scan the table with startRow and stopRow', (done) ->
 		scan = client.getScanner testTable, '5', '6'

		client.get testTable, get, (err, res) ->
			assert.equal err, null
			assert.equal res.row, row
			assert.equal res.columns[0].family, cf
			assert.equal res.columns[0].qualifier, col
			assert.equal res.columns[0].timestamp.toString(), ts.toString() if ts
			if typeof val is 'object'
				assert.equal res.columns[0].value.toString(), val.toString()
			else
				assert.equal res.columns[0].value, val
			cb res

	deleteRow = (row, cb) ->
		del = new hbase.Delete row

				rowDoesNotExist tRow, cb
		]

		async.waterfall tests, done

	it 'should deleteFamily & deleteFamilies', (done) ->
		ts = null
		tests = [
			(cb) ->
				putRow tRow, tCf, tCol, tVal, (err, row) ->
					ts = row.cols["#{tCf}:#{tCol}"].timestamp
					cb()
		,
