Correct behaviour from pull request #208. Include some refactoring to reduce repetitive table indexing.