diff --git a/functions/.pragma.c.swp b/functions/.pragma.c.swp
new file mode 100644
index 0000000000000000000000000000000000000000..8f4a55176f396d4c18ff1e593bc881c447b2796d
Binary files /dev/null and b/functions/.pragma.c.swp differ
diff --git a/functions/pragma.c b/functions/pragma.c
index a98fc77296017de060036e714e957413aad379ab..3d716af3d82a6a6c684d7b42f7c4dc735c72e7c2 100644
--- a/functions/pragma.c
+++ b/functions/pragma.c
@@ -11,7 +11,7 @@ static void my_pragma_action(cpp_reader *ARG_UNUSED(dummy))
 	const char* elt;	
 	token = pragma_lex (&x);
 	bool close_paren_needed_p = false;
-		
+	bool already_in;
 	
 	if (cfun){
         	printf("!!Pragma placed inside function!!\n");
@@ -33,9 +33,20 @@ static void my_pragma_action(cpp_reader *ARG_UNUSED(dummy))
 			if (TREE_STRING_LENGTH (x) > 0)
             			args = tree_cons (NULL_TREE, x, args);
 			
-          		printf("Arg found : %s\n", IDENTIFIER_POINTER(x));	
-		
-			pragma_func_names_temp.safe_push(IDENTIFIER_POINTER(x));	
+          		printf("\nArg found : %s\n", IDENTIFIER_POINTER(x));	
+			
+			already_in = false;
+			for (int ix = 0; pragma_func_names.iterate (ix, &elt); ix++){
+				if(strcmp(elt, IDENTIFIER_POINTER(x))==0)
+					already_in = true;
+			}	
+
+			if(already_in){
+				printf("WARNING : 2 pragmas refering to same func");
+			}
+			else{
+				pragma_func_names_temp.safe_push(IDENTIFIER_POINTER(x));	
+			}
 			token = pragma_lex (&x);        					
 			//Cleans COMAS
 			while (token == CPP_COMMA){
diff --git a/plugin.cpp b/plugin.cpp
index a52eea79551d765af76ca22b620c6843d8441f77..06c12cb2721a225073ee9265dd96d710c2a060ca 100755
--- a/plugin.cpp
+++ b/plugin.cpp
@@ -129,7 +129,7 @@ class cleanup_pass : public gimple_opt_pass
 	
                         const char *elt;
                         for(int ix = 0; pragma_func_names.iterate (ix, &elt); ix++)
-                                func_to_be_analyzed = strcmp(elt,function_name(fun)) && func_to_be_analyzed;
+                                func_to_be_analyzed = (strcmp(elt,function_name(fun))==0)  && func_to_be_analyzed;
 			printf("USING PRAGMAS - FUNC IS : %s", function_name(fun));
 			return func_to_be_analyzed;
                 }