diff --git a/lexer.go b/lexer.go
index 2593466..c4a2bd6 100644
--- a/lexer.go
+++ b/lexer.go
@@ -234,6 +234,10 @@
 			return lexNumber
 		}
 
+		if next == '.' {
+			return l.errorf("cannot start float with a dot")
+		}
+
 		if isSpace(next) {
 			l.ignore()
 		}
@@ -416,6 +420,9 @@
 			l.backup()
 			break
 		}
+		if point_seen && !digit_seen {
+			return l.errorf("cannot start float with a dot")
+		}
 	}
 
 	if !digit_seen {
diff --git a/parser.go b/parser.go
index f91e80c..ee5758a 100644
--- a/parser.go
+++ b/parser.go
@@ -141,6 +141,8 @@
 		return val
 	case tokenLeftBracket:
 		return parseArray(p)
+	case tokenError:
+		panic(tok.val)
 	}
 
 	panic("never reached")
diff --git a/parser_test.go b/parser_test.go
index 441c4e2..9beef36 100644
--- a/parser_test.go
+++ b/parser_test.go
@@ -210,6 +210,18 @@
 	}
 }
 
+func TestFloatsWithoutLeadingZeros(t *testing.T) {
+	_, err := Load("a = .42")
+	if err.Error() != "cannot start float with a dot" {
+		t.Error("Bad error message:", err.Error())
+	}
+
+	_, err = Load("a = -.42")
+	if err.Error() != "cannot start float with a dot" {
+		t.Error("Bad error message:", err.Error())
+	}
+}
+
 func TestMissingFile(t *testing.T) {
 	_, err := LoadFile("foo.toml")
 	if err.Error() != "open foo.toml: no such file or directory" {
