diff --git a/cmd/gomobile/bind.go b/cmd/gomobile/bind.go
index 40259f8..4b34f97 100644
--- a/cmd/gomobile/bind.go
+++ b/cmd/gomobile/bind.go
@@ -139,10 +139,11 @@
 
 func importPackages(args []string) ([]*build.Package, error) {
 	pkgs := make([]*build.Package, len(args))
-	for i, path := range args {
+	for i, a := range args {
+		a = path.Clean(a)
 		var err error
-		if pkgs[i], err = ctx.Import(path, cwd, build.ImportComment); err != nil {
-			return nil, fmt.Errorf("package %q: %v", path, err)
+		if pkgs[i], err = ctx.Import(a, cwd, build.ImportComment); err != nil {
+			return nil, fmt.Errorf("package %q: %v", a, err)
 		}
 	}
 	return pkgs, nil
diff --git a/cmd/gomobile/bind_test.go b/cmd/gomobile/bind_test.go
index 0e3abae..415c1d9 100644
--- a/cmd/gomobile/bind_test.go
+++ b/cmd/gomobile/bind_test.go
@@ -7,6 +7,7 @@
 import (
 	"bytes"
 	"os"
+	"path"
 	"path/filepath"
 	"strings"
 	"testing"
@@ -15,6 +16,18 @@
 
 // TODO(crawshaw): TestBindIOS
 
+func TestImportPackagesPathCleaning(t *testing.T) {
+	slashPath := "golang.org/x/mobile/example/bind/hello/"
+	pkgs, err := importPackages([]string{slashPath})
+	if err != nil {
+		t.Fatal(err)
+	}
+	p := pkgs[0]
+	if c := path.Clean(slashPath); p.ImportPath != c {
+		t.Errorf("expected %s; got %s", c, p.ImportPath)
+	}
+}
+
 func TestBindAndroid(t *testing.T) {
 	androidHome := os.Getenv("ANDROID_HOME")
 	if androidHome == "" {
