diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,6 @@
+# 0.4.7 (2022-05-31)
+- Graph rpmspecDynBuildRequires: generate .buildreqs.nosrc.rpm in a tmpdir
+
 # 0.4.6 (2022-05-30)
 - handle Dynamic BuildRequires (#3)
   with special support for golang Provs and rust & ruby BRs
diff --git a/rpmbuild-order.1 b/rpmbuild-order.1
--- a/rpmbuild-order.1
+++ b/rpmbuild-order.1
@@ -1,7 +1,7 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.49.2.
-.TH RPMBUILD-ORDER "1" "May 2022" "rpmbuild-order 0.4.6" "User Commands"
+.TH RPMBUILD-ORDER "1" "May 2022" "rpmbuild-order 0.4.7" "User Commands"
 .SH NAME
-rpmbuild-order \- manual page for rpmbuild-order 0.4.6
+rpmbuild-order \- manual page for rpmbuild-order 0.4.7
 .SH SYNOPSIS
 .B rpmbuild-order
 [\fI\,--version\/\fR] \fI\,COMMAND\/\fR
diff --git a/rpmbuild-order.cabal b/rpmbuild-order.cabal
--- a/rpmbuild-order.cabal
+++ b/rpmbuild-order.cabal
@@ -1,5 +1,5 @@
 Name:             rpmbuild-order
-Version:          0.4.6.1
+Version:          0.4.7
 License:          BSD3
 License-File:     LICENSE
 Author:           Jens Petersen <petersen@redhat.com>,
diff --git a/src/Distribution/RPM/Build/Graph.hs b/src/Distribution/RPM/Build/Graph.hs
--- a/src/Distribution/RPM/Build/Graph.hs
+++ b/src/Distribution/RPM/Build/Graph.hs
@@ -49,7 +49,7 @@
 import Data.GraphViz
 import SimpleCmd
 import System.Directory (doesDirectoryExist, doesFileExist,
-                         withCurrentDirectory,
+                         getCurrentDirectory, withCurrentDirectory,
 #if !MIN_VERSION_simple_cmd(0,2,4)
 #if MIN_VERSION_directory(1,2,5)
                          listDirectory
@@ -60,6 +60,7 @@
                         )
 import System.Exit (exitFailure)
 import System.FilePath
+import System.IO.Extra (withTempDir)
 
 #if !MIN_VERSION_directory(1,2,5) && !MIN_VERSION_simple_cmd(0,2,4)
 listDirectory :: FilePath -> IO [FilePath]
@@ -403,11 +404,12 @@
 
     rpmspecDynBuildRequires :: FilePath -> IO [String]
     rpmspecDynBuildRequires spec = do
-      (out,err) <- cmdStdErr "rpmbuild" ["-br", "--nodeps", spec]
-      unless (null err) $
-        when verbose $ warning err
-      -- Wrote: /current/dir/SRPMS/name-version-release.buildreqs.nosrc.rpm
-      cmdLines "rpm" ["-qp", "--requires", last (words out)]
+      cwd <- getCurrentDirectory
+      withTempDir $ \tmpdir -> do
+        (out,err) <- cmdStdErr "rpmbuild" ["-br", "--nodeps", "--define", "_srcrpmdir " ++ tmpdir, cwd </> spec]
+        unless (null err) $ when verbose $ warning err
+        -- Wrote: /current/dir/SRPMS/name-version-release.buildreqs.nosrc.rpm
+        cmdLines "rpm" ["-qp", "--requires", last (words out)]
 
     simplifyDep br =
       case (head . words) br of
