@@ -108,7 +108,14 @@ setAccessibility n a
108108 put (i { tt_ctxt = ctxt })
109109
110110addIBC :: IBCWrite -> Idris ()
111−addIBC ibc = do i <- get; put (i { ibc_write = ibc : ibc_write i })
111+addIBC ibc@(IBCDef n)
112+ = do i <- get
113+ when (notDef (ibc_write i)) $
114+ put (i { ibc_write = ibc : ibc_write i })
115+ where notDef [] = True
116+ notDef (IBCDef n': is) | n == n' = False
117+ notDef (_ : is) = notDef is
118+addIBC ibc = do i <- get; put (i { ibc_write = ibc : ibc_write i })
112119
113120clearIBC :: Idris ()
114121clearIBC = do i <- get; put (i { ibc_write = [] })