diff --git a/Hledger/Read/CsvReader.hs b/Hledger/Read/CsvReader.hs
--- a/Hledger/Read/CsvReader.hs
+++ b/Hledger/Read/CsvReader.hs
@@ -623,9 +623,9 @@
 getEffectiveAssignment :: CsvRules -> CsvRecord -> JournalFieldName -> Maybe FieldTemplate
 getEffectiveAssignment rules record f = lastMay $ assignmentsFor f
   where
-    assignmentsFor f = map snd $ toplevelassignments ++ conditionalassignments
+    assignmentsFor f = map snd $ filter ((==f).fst) $ toplevelassignments ++ conditionalassignments
       where
-        toplevelassignments    = filter ((==f).fst) $ rassignments rules
+        toplevelassignments    = rassignments rules
         conditionalassignments = concatMap snd $ filter blockMatches $ blocksAssigning f
           where
             blocksAssigning f = filter (any ((==f).fst) . snd) $ rconditionalblocks rules
diff --git a/hledger-lib.cabal b/hledger-lib.cabal
--- a/hledger-lib.cabal
+++ b/hledger-lib.cabal
@@ -1,5 +1,5 @@
 name:           hledger-lib
-version: 0.21.2
+version: 0.21.3
 category:       Finance
 synopsis:       Core data types, parsers and utilities for the hledger accounting tool.
 description:
