diff --git a/src/plugins/e-acsl/tests/bts/issue-eacsl-204.c b/src/plugins/e-acsl/tests/bts/issue-eacsl-204.c
new file mode 100644
index 0000000000000000000000000000000000000000..9072e82aa2d5dc32ce0b674b61382594afe41935
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/issue-eacsl-204.c
@@ -0,0 +1,16 @@
+/*
+  run.config
+  COMMENT: issue eacsl#204: name conflict when a function
+  COMMENT: with contract shares a name with a logic function
+*/
+
+/*@ predicate equalTag(integer n) = n; */
+
+/*@ ensures equalTag(1); */
+int equalTag() {
+  return 1;
+}
+
+int main(void) {
+  return 0;
+}
diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-204.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-204.c
new file mode 100644
index 0000000000000000000000000000000000000000..09c27db7daec2c0235e179c11aa7c9110c8d01b0
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-204.c
@@ -0,0 +1,66 @@
+/* Generated by Frama-C */
+#include "pthread.h"
+#include "sched.h"
+#include "signal.h"
+#include "stddef.h"
+#include "stdint.h"
+#include "stdio.h"
+#include "time.h"
+extern  __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict;
+
+/*@ predicate equalTag(integer n) = n != 0;
+
+*/
+int __gen_e_acsl_equalTag_2(int n);
+
+/*@ ensures equalTag(1); */
+int __gen_e_acsl_equalTag(void);
+
+int equalTag(void)
+{
+  int __retres;
+  __retres = 1;
+  return __retres;
+}
+
+int main(void)
+{
+  int __retres;
+  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
+  __retres = 0;
+  __e_acsl_memory_clean();
+  return __retres;
+}
+
+/*@ ensures equalTag(1); */
+int __gen_e_acsl_equalTag(void)
+{
+  int __retres;
+  __retres = equalTag();
+  {
+    int __gen_e_acsl_equalTag_3;
+    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
+    __gen_e_acsl_equalTag_3 = __gen_e_acsl_equalTag_2(1);
+    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"equalTag(1)",0,
+                                 __gen_e_acsl_equalTag_3);
+    __gen_e_acsl_assert_data.blocking = 1;
+    __gen_e_acsl_assert_data.kind = "Postcondition";
+    __gen_e_acsl_assert_data.pred_txt = "equalTag(1)";
+    __gen_e_acsl_assert_data.file = "issue-eacsl-204.c";
+    __gen_e_acsl_assert_data.fct = "equalTag";
+    __gen_e_acsl_assert_data.line = 9;
+    __e_acsl_assert(__gen_e_acsl_equalTag_3,& __gen_e_acsl_assert_data);
+    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
+    return __retres;
+  }
+}
+
+/*@ assigns \result;
+    assigns \result \from n; */
+int __gen_e_acsl_equalTag_2(int n)
+{
+  int __retres = n != 0;
+  return __retres;
+}
+
+
diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-204.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-204.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..efd026311297e55d8fefb674326118e6ece88624
--- /dev/null
+++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-204.res.oracle
@@ -0,0 +1,2 @@
+[e-acsl] beginning translation.
+[e-acsl] translation done in project "e-acsl".