diff --git a/pkg/domain/infra/abi/play.go b/pkg/domain/infra/abi/play.go
index e386c17e92..35389ec5e0 100644
--- a/pkg/domain/infra/abi/play.go
+++ b/pkg/domain/infra/abi/play.go
@@ -435,6 +435,7 @@ func (ic *ContainerEngine) getImageAndLabelInfo(ctx context.Context, cwd string,
 		buildOpts.Isolation = buildahDefine.IsolationChroot
 		buildOpts.CommonBuildOpts = commonOpts
 		buildOpts.Output = container.Image
+		buildOpts.ContextDirectory = filepath.Dir(buildFile)
 		if _, _, err := ic.Libpod.Build(ctx, *buildOpts, []string{buildFile}...); err != nil {
 			return nil, nil, err
 		}
diff --git a/test/e2e/play_build_test.go b/test/e2e/play_build_test.go
index 16f2687f35..564735e072 100644
--- a/test/e2e/play_build_test.go
+++ b/test/e2e/play_build_test.go
@@ -80,12 +80,17 @@ status: {}
 FROM quay.io/libpod/alpine_nginx:latest
 RUN apk update && apk add strace
 LABEL homer=dad
+COPY copyfile /copyfile
 `
 	var prebuiltImage = `
 FROM quay.io/libpod/alpine_nginx:latest
 RUN apk update && apk add strace
 LABEL marge=mom
 `
+
+	var copyFile = `just a text file
+`
+
 	It("Check that image is built using Dockerfile", func() {
 		// Setup
 		yamlDir := filepath.Join(tempdir, RandomString(12))
@@ -97,7 +102,9 @@ LABEL marge=mom
 		Expect(err).To(BeNil())
 		err = writeYaml(playBuildFile, filepath.Join(app1Dir, "Dockerfile"))
 		Expect(err).To(BeNil())
-
+		// Write a file to be copied
+		err = writeYaml(copyFile, filepath.Join(app1Dir, "copyfile"))
+		Expect(err).To(BeNil())
 		// Switch to temp dir and restore it afterwards
 		cwd, err := os.Getwd()
 		Expect(err).To(BeNil())
@@ -131,7 +138,9 @@ LABEL marge=mom
 		Expect(err).To(BeNil())
 		err = writeYaml(playBuildFile, filepath.Join(app1Dir, "Containerfile"))
 		Expect(err).To(BeNil())
-
+		// Write a file to be copied
+		err = writeYaml(copyFile, filepath.Join(app1Dir, "copyfile"))
+		Expect(err).To(BeNil())
 		// Switch to temp dir and restore it afterwards
 		cwd, err := os.Getwd()
 		Expect(err).To(BeNil())
@@ -172,6 +181,9 @@ LABEL marge=mom
 		Expect(err).To(BeNil())
 		err = writeYaml(playBuildFile, filepath.Join(app1Dir, "Containerfile"))
 		Expect(err).To(BeNil())
+		// Write a file to be copied
+		err = writeYaml(copyFile, filepath.Join(app1Dir, "copyfile"))
+		Expect(err).To(BeNil())
 
 		// Switch to temp dir and restore it afterwards
 		cwd, err := os.Getwd()
@@ -215,6 +227,9 @@ LABEL marge=mom
 		Expect(err).To(BeNil())
 		err = writeYaml(playBuildFile, filepath.Join(app1Dir, "Containerfile"))
 		Expect(err).To(BeNil())
+		// Write a file to be copied
+		err = writeYaml(copyFile, filepath.Join(app1Dir, "copyfile"))
+		Expect(err).To(BeNil())
 
 		// Switch to temp dir and restore it afterwards
 		cwd, err := os.Getwd()