diff --git a/android/module.go b/android/module.go
index c5252c8..9a69a26 100644
--- a/android/module.go
+++ b/android/module.go
@@ -383,6 +383,7 @@
 		&base.nameProperties,
 		&base.commonProperties,
 		&base.variableProperties)
+	base.generalProperties = m.GetProperties()
 	base.customizableProperties = m.GetProperties()
 }
 
diff --git a/android/path_properties.go b/android/path_properties.go
index 5d89709..1a12290 100644
--- a/android/path_properties.go
+++ b/android/path_properties.go
@@ -33,7 +33,7 @@
 		return
 	}
 
-	props := m.base().customizableProperties
+	props := m.base().generalProperties
 
 	for _, ps := range props {
 		pathProperties := pathPropertiesForPropertyStruct(ctx, ps)
diff --git a/android/path_properties_test.go b/android/path_properties_test.go
index 6471a3c..ecc2d21 100644
--- a/android/path_properties_test.go
+++ b/android/path_properties_test.go
@@ -25,7 +25,7 @@
 	ModuleBase
 	props struct {
 		Foo string   `android:"path"`
-		Bar []string `android:"path"`
+		Bar []string `android:"path,arch_variant"`
 		Baz *string  `android:"path"`
 		Qux string
 	}
@@ -36,7 +36,7 @@
 func pathDepsMutatorTestModuleFactory() Module {
 	module := &pathDepsMutatorTestModule{}
 	module.AddProperties(&module.props)
-	InitAndroidModule(module)
+	InitAndroidArchModule(module, DeviceSupported, MultilibBoth)
 	return module
 }
 
@@ -64,6 +64,23 @@
 			}`,
 			deps: []string{"a", "b", "c"},
 		},
+		{
+			name: "arch variant",
+			bp: `
+			test {
+				name: "foo",
+				arch: {
+					arm64: {
+						bar: [":a"],
+					},
+					arm: {
+						bar: [":b"],
+					},
+				},
+				bar: [":c"],
+			}`,
+			deps: []string{"c", "a"},
+		},
 	}
 
 	buildDir, err := ioutil.TempDir("", "soong_path_properties_test")
@@ -74,8 +91,8 @@
 
 	for _, test := range tests {
 		t.Run(test.name, func(t *testing.T) {
-			config := TestConfig(buildDir, nil)
-			ctx := NewTestContext()
+			config := TestArchConfig(buildDir, nil)
+			ctx := NewTestArchContext()
 
 			ctx.RegisterModuleType("test", ModuleFactoryAdaptor(pathDepsMutatorTestModuleFactory))
 			ctx.RegisterModuleType("filegroup", ModuleFactoryAdaptor(FileGroupFactory))
@@ -110,7 +127,7 @@
 			_, errs = ctx.PrepareBuildActions(config)
 			FailIfErrored(t, errs)
 
-			m := ctx.ModuleForTests("foo", "").Module().(*pathDepsMutatorTestModule)
+			m := ctx.ModuleForTests("foo", "android_arm64_armv8-a").Module().(*pathDepsMutatorTestModule)
 
 			if g, w := m.sourceDeps, test.deps; !reflect.DeepEqual(g, w) {
 				t.Errorf("want deps %q, got %q", w, g)
