diff --git a/parser.go b/parser.go
index 4d3927c..2e70e74 100644
--- a/parser.go
+++ b/parser.go
@@ -134,7 +134,9 @@
 		}
 	}
 	p.seenGroupKeys = append(p.seenGroupKeys, key.val)
-	p.tree.createSubTree(key.val)
+	if err := p.tree.createSubTree(key.val); err != nil {
+    p.raiseError(key, "%s", err)
+  }
 	p.assume(tokenRightBracket)
 	p.currentGroup = strings.Split(key.val, ".")
 	return parseStart(p)
diff --git a/parser_test.go b/parser_test.go
index b73fcce..752c4a7 100644
--- a/parser_test.go
+++ b/parser_test.go
@@ -228,7 +228,7 @@
 
 func TestEmptyIntermediateTable(t *testing.T) {
 	_, err := Load("[foo..bar]")
-	if err.Error() != "empty intermediate table" {
+	if err.Error() != "(1, 2): empty intermediate table" {
 		t.Error("Bad error message:", err.Error())
 	}
 }
diff --git a/toml.go b/toml.go
index 84403fe..5dceb15 100644
--- a/toml.go
+++ b/toml.go
@@ -142,11 +142,13 @@
 //
 // e.g. passing a.b.c will create (assuming tree is empty) tree[a], tree[a][b]
 // and tree[a][b][c]
-func (t *TomlTree) createSubTree(key string) {
+//
+// Returns nil on success, error object on failure
+func (t *TomlTree) createSubTree(key string) error{
 	subtree := t
 	for _, intermediate_key := range strings.Split(key, ".") {
 		if intermediate_key == "" {
-			panic("empty intermediate table")
+			return fmt.Errorf("empty intermediate table")
 		}
 		_, exists := (*subtree)[intermediate_key]
 		if !exists {
@@ -155,6 +157,7 @@
 		}
 		subtree = ((*subtree)[intermediate_key]).(*TomlTree)
 	}
+  return nil
 }
 
 // encodes a string to a TOML-compliant string value
