diff --git a/compiler/libpc300/libpc300.vcproj b/compiler/libpc300/libpc300.vcproj
index ac5e594b..349ef4eb 100755
--- a/compiler/libpc300/libpc300.vcproj
+++ b/compiler/libpc300/libpc300.vcproj
@@ -215,7 +215,7 @@
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
+ Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"/>
@@ -264,7 +264,7 @@
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
+ Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"/>
diff --git a/compiler/libpc300/sc2.c b/compiler/libpc300/sc2.c
index b703b81a..d94825e3 100755
--- a/compiler/libpc300/sc2.c
+++ b/compiler/libpc300/sc2.c
@@ -2439,7 +2439,7 @@ static symbol *find_symbol(const symbol *root,const char *name,int fnumber,int i
while (ptr!=NULL) {
if (hash==ptr->hash && strcmp(name,ptr->name)==0
&& (ptr->parent==NULL || includechildren)
- && (ptr->fnumber<0 || ptr->fnumber==fnumber))
+ && (fnumber<0 || (ptr->fnumber<0 || ptr->fnumber==fnumber)))
return ptr;
ptr=ptr->next;
} /* while */
diff --git a/compiler/libpc300/sc6.c b/compiler/libpc300/sc6.c
index 65110180..d502956f 100755
--- a/compiler/libpc300/sc6.c
+++ b/compiler/libpc300/sc6.c
@@ -581,6 +581,8 @@ SC_FUNC int assemble(FILE *fout,FILE *fin)
constvalue *constptr;
cell mainaddr;
+ fcurrent = -1;
+
/* if compression failed, restart the assembly with compaction switched off */
if (setjmp(compact_err)!=0) {
assert(sc_compress); /* cannot arrive here if compact encoding was disabled */