diff --git a/monad b/monad
index 95e2c77ba91591f477857520b42fef7b92200ae3..36eb538451987e40d3e1ce9a989a6c1477cf9276 100755
--- a/monad
+++ b/monad
@@ -11,12 +11,12 @@ while [ -h "$SOURCE" ] ; do
 	fi;
 done
 MONAD_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
-SOURCE_DIR=$MONAD_DIR/source
+SOURCE_DIR="$MONAD_DIR/source"
 CALLING_DIR=`pwd`
 
-svn up $MONAD_DIR -q
-make -C $SOURCE_DIR -q
+svn up "$MONAD_DIR" -q
+make -C "$SOURCE_DIR" -q
 if [ "$?" -ne 0 ]; then
-	make -C $SOURCE_DIR --quiet
+	make -C "$SOURCE_DIR" --quiet
 fi
-$SOURCE_DIR/pure-monad $@
+"$SOURCE_DIR/pure-monad" $@
diff --git a/source/Makefile.proxy b/source/Makefile.proxy
index af9d5dd755a913c1d66a62522d70fbf0c9b1448b..455219624a46f3301676a2685abc0df0763dadc3 100644
--- a/source/Makefile.proxy
+++ b/source/Makefile.proxy
@@ -22,8 +22,9 @@ all: $(TESTEXE)
 endif
 
 LIBS:=
-IS_LIBRT:=$(shell echo "int main(){}" | g++ -o /dev/null -x c++ - -lrt &>/dev/null ; echo $$?)
-IS_LIBPNG:=$(shell echo "int main(){}" | g++ -o /dev/null -x c++ - -lpng &>/dev/null ; echo $$?)
+# Using temp instead of /dev/null to work on cygwin
+IS_LIBRT:=$(shell echo "int main(){}" | g++ -o temp -x c++ - -lrt &>/dev/null ; echo $$? ; rm -f temp)
+IS_LIBPNG:=$(shell echo "int main(){}" | g++ -o temp -x c++ - -lpng &>/dev/null ; echo $$? ; rm -f temp)
 ifeq ($(IS_LIBRT),0)
 LIBS+= -lrt
 endif
diff --git a/source/monad.cpp b/source/monad.cpp
index 5c3cc0f1ebaa39bb6a5ba039c65358f6a64f59b3..c5ad9096327366d9583e1e8fd87d25318ceaaa98 100644
--- a/source/monad.cpp
+++ b/source/monad.cpp
@@ -269,6 +269,9 @@ void monad::processArgs(int argc, const char * const * argv)
 		tempFolder  = "./" + assignment_base + "_temp/";
 
 	// Find source folder (i.e. ../mp1)
+	// TODO (toole1): I'm not sure if we should really use updateFolder
+	// vs getFolder here, and I've forgotten if the original reasoning
+	// was deeper than I have the _solution in ../
 	if (opts::solution)
 		sourceFolder = updateFolder(assignment_base + "_solution/", false);
 	else
diff --git a/source/monad_shared.cpp b/source/monad_shared.cpp
index f8449b9a167dc84d3aa52142b397ccf238ab9121..28664931b4a3a5314f7805341f1844ce23ef70ae 100644
--- a/source/monad_shared.cpp
+++ b/source/monad_shared.cpp
@@ -15,7 +15,7 @@ namespace versioninfo
 {
 const char * official_name = "Monad Autograder";
 const char * version_name  = "mazecity";
-const Version version_num  = Version(3, 0, 0, 0);
+const Version version_num  = Version(3, 0, 0, 1);
 const char * date          = "18 Jan 2012";
 }
 
diff --git a/source/util.cpp b/source/util.cpp
index 6d22fadbcf7ff54cd85d49b43ceebf7c341fbc45..a374403493a5a5f953c7aca578f8af4b98c09ef2 100644
--- a/source/util.cpp
+++ b/source/util.cpp
@@ -657,7 +657,7 @@ string getcwdstr()
 	string cwdstr(buffer);
 	delete buffer;
 
-	return cwdstr;
+	return cwdstr + "/";
 }